crypto: disable preemption while benchmarking RAID5 xor checksumming
With CONFIG_PREEMPT=y, we need to disable preemption while benchmarking RAID5 xor checksumming to ensure we're actually measuring what we think we're measuring. Signed-off-by: Jim Kukunas <james.t.kukunas@linux.intel.com> Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
		
							parent
							
								
									6a328475cc
								
							
						
					
					
						commit
						56a519913e
					
				| @ -21,6 +21,7 @@ | ||||
| #include <linux/gfp.h> | ||||
| #include <linux/raid/xor.h> | ||||
| #include <linux/jiffies.h> | ||||
| #include <linux/preempt.h> | ||||
| #include <asm/xor.h> | ||||
| 
 | ||||
| /* The xor routines to use.  */ | ||||
| @ -69,6 +70,8 @@ do_xor_speed(struct xor_block_template *tmpl, void *b1, void *b2) | ||||
| 	tmpl->next = template_list; | ||||
| 	template_list = tmpl; | ||||
| 
 | ||||
| 	preempt_disable(); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Count the number of XORs done during a whole jiffy, and use | ||||
| 	 * this to calculate the speed of checksumming.  We use a 2-page | ||||
| @ -91,6 +94,8 @@ do_xor_speed(struct xor_block_template *tmpl, void *b1, void *b2) | ||||
| 			max = count; | ||||
| 	} | ||||
| 
 | ||||
| 	preempt_enable(); | ||||
| 
 | ||||
| 	speed = max * (HZ * BENCH_SIZE / 1024); | ||||
| 	tmpl->speed = speed; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user