mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	sched: Disable wakeup balancing
Sysbench thinks SD_BALANCE_WAKE is too agressive and kbuild doesn't really mind too much, SD_BALANCE_NEWIDLE picks up most of the slack. On a dual socket, quad core, dual thread nehalem system: sysbench (--num_threads=16): SD_BALANCE_WAKE-: 13982 tx/s SD_BALANCE_WAKE+: 15688 tx/s kbuild (-j16): SD_BALANCE_WAKE-: 47.648295846 seconds time elapsed ( +- 0.312% ) SD_BALANCE_WAKE+: 47.608607360 seconds time elapsed ( +- 0.026% ) (same within noise) Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <new-submission> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
		
							parent
							
								
									5a9b86f647
								
							
						
					
					
						commit
						182a85f8a1
					
				
					 7 changed files with 4 additions and 10 deletions
				
			
		|  | @ -68,7 +68,6 @@ void build_cpu_to_node_map(void); | |||
| 				| SD_BALANCE_NEWIDLE	\ | ||||
| 				| SD_BALANCE_EXEC	\ | ||||
| 				| SD_BALANCE_FORK	\ | ||||
| 				| SD_BALANCE_WAKE	\ | ||||
| 				| SD_WAKE_AFFINE,	\ | ||||
| 	.last_balance		= jiffies,		\ | ||||
| 	.balance_interval	= 1,			\ | ||||
|  | @ -94,7 +93,6 @@ void build_cpu_to_node_map(void); | |||
| 				| SD_BALANCE_NEWIDLE	\ | ||||
| 				| SD_BALANCE_EXEC	\ | ||||
| 				| SD_BALANCE_FORK	\ | ||||
| 				| SD_BALANCE_WAKE	\ | ||||
| 				| SD_SERIALIZE,		\ | ||||
| 	.last_balance		= jiffies,		\ | ||||
| 	.balance_interval	= 64,			\ | ||||
|  |  | |||
|  | @ -48,7 +48,6 @@ extern unsigned char __node_distances[MAX_COMPACT_NODES][MAX_COMPACT_NODES]; | |||
| 	.cache_nice_tries	= 1,			\ | ||||
| 	.flags			= SD_LOAD_BALANCE	\ | ||||
| 				| SD_BALANCE_EXEC	\ | ||||
| 				| SD_BALANCE_WAKE,	\ | ||||
| 	.last_balance		= jiffies,		\ | ||||
| 	.balance_interval	= 1,			\ | ||||
| 	.nr_balance_failed	= 0,			\ | ||||
|  |  | |||
|  | @ -63,7 +63,6 @@ static inline int pcibus_to_node(struct pci_bus *bus) | |||
| 				| SD_BALANCE_EXEC	\ | ||||
| 				| SD_BALANCE_FORK	\ | ||||
| 				| SD_BALANCE_NEWIDLE	\ | ||||
| 				| SD_BALANCE_WAKE	\ | ||||
| 				| SD_SERIALIZE,		\ | ||||
| 	.last_balance		= jiffies,		\ | ||||
| 	.balance_interval	= 1,			\ | ||||
|  |  | |||
|  | @ -21,7 +21,6 @@ | |||
| 	.flags			= SD_LOAD_BALANCE	\ | ||||
| 				| SD_BALANCE_FORK	\ | ||||
| 				| SD_BALANCE_EXEC	\ | ||||
| 				| SD_BALANCE_WAKE	\ | ||||
| 				| SD_BALANCE_NEWIDLE	\ | ||||
| 				| SD_SERIALIZE,		\ | ||||
| 	.last_balance		= jiffies,		\ | ||||
|  |  | |||
|  | @ -57,7 +57,6 @@ static inline int pcibus_to_node(struct pci_bus *pbus) | |||
| 	.flags			= SD_LOAD_BALANCE	\ | ||||
| 				| SD_BALANCE_FORK	\ | ||||
| 				| SD_BALANCE_EXEC	\ | ||||
| 				| SD_BALANCE_WAKE	\ | ||||
| 				| SD_SERIALIZE,		\ | ||||
| 	.last_balance		= jiffies,		\ | ||||
| 	.balance_interval	= 1,			\ | ||||
|  |  | |||
|  | @ -141,7 +141,7 @@ extern unsigned long node_remap_size[]; | |||
| 				| 1*SD_BALANCE_NEWIDLE			\ | ||||
| 				| 1*SD_BALANCE_EXEC			\ | ||||
| 				| 1*SD_BALANCE_FORK			\ | ||||
| 				| 1*SD_BALANCE_WAKE			\ | ||||
| 				| 0*SD_BALANCE_WAKE			\ | ||||
| 				| 1*SD_WAKE_AFFINE			\ | ||||
| 				| 0*SD_SHARE_CPUPOWER			\ | ||||
| 				| 0*SD_POWERSAVINGS_BALANCE		\ | ||||
|  |  | |||
|  | @ -95,7 +95,7 @@ int arch_update_cpu_topology(void); | |||
| 				| 1*SD_BALANCE_NEWIDLE			\ | ||||
| 				| 1*SD_BALANCE_EXEC			\ | ||||
| 				| 1*SD_BALANCE_FORK			\ | ||||
| 				| 1*SD_BALANCE_WAKE			\ | ||||
| 				| 0*SD_BALANCE_WAKE			\ | ||||
| 				| 1*SD_WAKE_AFFINE			\ | ||||
| 				| 1*SD_SHARE_CPUPOWER			\ | ||||
| 				| 0*SD_POWERSAVINGS_BALANCE		\ | ||||
|  | @ -127,7 +127,7 @@ int arch_update_cpu_topology(void); | |||
| 				| 1*SD_BALANCE_NEWIDLE			\ | ||||
| 				| 1*SD_BALANCE_EXEC			\ | ||||
| 				| 1*SD_BALANCE_FORK			\ | ||||
| 				| 1*SD_BALANCE_WAKE			\ | ||||
| 				| 0*SD_BALANCE_WAKE			\ | ||||
| 				| 1*SD_WAKE_AFFINE			\ | ||||
| 				| 1*SD_PREFER_LOCAL			\ | ||||
| 				| 0*SD_SHARE_CPUPOWER			\ | ||||
|  | @ -160,7 +160,7 @@ int arch_update_cpu_topology(void); | |||
| 				| 1*SD_BALANCE_NEWIDLE			\ | ||||
| 				| 1*SD_BALANCE_EXEC			\ | ||||
| 				| 1*SD_BALANCE_FORK			\ | ||||
| 				| 1*SD_BALANCE_WAKE			\ | ||||
| 				| 0*SD_BALANCE_WAKE			\ | ||||
| 				| 1*SD_WAKE_AFFINE			\ | ||||
| 				| 1*SD_PREFER_LOCAL			\ | ||||
| 				| 0*SD_SHARE_CPUPOWER			\ | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Peter Zijlstra
						Peter Zijlstra