forked from mirrors/linux
		
	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
					
				
					 1 changed files with 5 additions and 0 deletions
				
			
		|  | @ -21,6 +21,7 @@ | ||||||
| #include <linux/gfp.h> | #include <linux/gfp.h> | ||||||
| #include <linux/raid/xor.h> | #include <linux/raid/xor.h> | ||||||
| #include <linux/jiffies.h> | #include <linux/jiffies.h> | ||||||
|  | #include <linux/preempt.h> | ||||||
| #include <asm/xor.h> | #include <asm/xor.h> | ||||||
| 
 | 
 | ||||||
| /* The xor routines to use.  */ | /* 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; | 	tmpl->next = template_list; | ||||||
| 	template_list = tmpl; | 	template_list = tmpl; | ||||||
| 
 | 
 | ||||||
|  | 	preempt_disable(); | ||||||
|  | 
 | ||||||
| 	/*
 | 	/*
 | ||||||
| 	 * Count the number of XORs done during a whole jiffy, and use | 	 * Count the number of XORs done during a whole jiffy, and use | ||||||
| 	 * this to calculate the speed of checksumming.  We use a 2-page | 	 * 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; | 			max = count; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	preempt_enable(); | ||||||
|  | 
 | ||||||
| 	speed = max * (HZ * BENCH_SIZE / 1024); | 	speed = max * (HZ * BENCH_SIZE / 1024); | ||||||
| 	tmpl->speed = speed; | 	tmpl->speed = speed; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 Jim Kukunas
						Jim Kukunas