| .. | .. | 
|---|
| 41 | 41 |  struct workqueue_struct *fscache_object_wq; | 
|---|
| 42 | 42 |  struct workqueue_struct *fscache_op_wq; | 
|---|
| 43 | 43 |   | 
|---|
 | 44 | +DEFINE_PER_CPU(wait_queue_head_t, fscache_object_cong_wait);  | 
|---|
 | 45 | +  | 
|---|
| 44 | 46 |  /* these values serve as lower bounds, will be adjusted in fscache_init() */ | 
|---|
| 45 | 47 |  static unsigned fscache_object_max_active = 4; | 
|---|
| 46 | 48 |  static unsigned fscache_op_max_active = 2; | 
|---|
| .. | .. | 
|---|
| 136 | 138 |  static int __init fscache_init(void) | 
|---|
| 137 | 139 |  { | 
|---|
| 138 | 140 |  	unsigned int nr_cpus = num_possible_cpus(); | 
|---|
 | 141 | +	unsigned int cpu;  | 
|---|
| 139 | 142 |  	int ret; | 
|---|
| 140 | 143 |   | 
|---|
| 141 | 144 |  	fscache_object_max_active = | 
|---|
| .. | .. | 
|---|
| 158 | 161 |  	if (!fscache_op_wq) | 
|---|
| 159 | 162 |  		goto error_op_wq; | 
|---|
| 160 | 163 |   | 
|---|
 | 164 | +	for_each_possible_cpu(cpu)  | 
|---|
 | 165 | +		init_waitqueue_head(&per_cpu(fscache_object_cong_wait, cpu));  | 
|---|
 | 166 | +  | 
|---|
| 161 | 167 |  	ret = fscache_proc_init(); | 
|---|
| 162 | 168 |  	if (ret < 0) | 
|---|
| 163 | 169 |  		goto error_proc; | 
|---|