Re: hackbench regression with kernel 2.6.32-rc1

From: Mike Galbraith
Date: Tue Oct 13 2009 - 05:41:11 EST


On Tue, 2009-10-13 at 11:12 +0800, Zhang, Yanmin wrote:

> NEXT_BUDDY has no help on volanoMark and tbench.

Vmark is mostly about preemption and affinity. Increases in wakeup
preemption or load balancing will bring it down. The affinity bit
applies heavily to mysql+oltp too, though it loves wakeup preemption.

test test test...

My conclusion for results _here_ is load balancing changes are harming
cache wise. GENTLE_FAIR_SLEEPERS harms short term fairness, but despite
GENTLE_FAIR_SLEEPERS, we're still wakeup preempting too much, likely
doing more cache harm.

(even for the desktop, overly aggressive wakeup preemption can do harm)

I'd suggest trying the settings below.

vmark

92143 stock settings
96396 -SD_BALANCE_NEWIDLE
99403 -SD_WAKE_BALANCE
121821 min_granularity+wakeup_granularity *= 2
128795 NO_WAKEUP_PREEMPT (and back on, just checking fairness)
97193 NO_FAIR_SLEEPERS (vmark likes fairness, max out fairness)
107519 FAIR_SLEEPERS NO_GENTLE_FAIR_SLEEPERS (over-preempt again, so..)
123721 min_granularity+wakeup_granularity *= 2
131290 NO_WAKEUP_PREEMPT (and back on, just checking fairness)
123464 NEXT_BUDDY (no effect)
vs stock 1.339

tbench 8 with these settings.

752.249 MB/sec 8 procs
747.010 MB/sec 8 procs NO_NEXT_BUDDY
753.177 MB/sec 8 procs min_granularity+wakeup_granularity /= 2
749.518 MB/sec 8 procs GENTLE_FAIR_SLEEPERS
753.051 MB/sec 8 procs min_granularity+wakeup_granularity /= 2
734.772 MB/sec 8 procs +SD_WAKE_BALANCE
733.683 MB/sec 8 procs +SD_BALANCE_NEWIDLE (we are at stock)
vs stock 1.025

Turns off netfilter, stock settings

903.304 MB/sec 8 procs
900.656 MB/sec 8 procs -SD_BALANCE_NEWIDLE
928.914 MB/sec 8 procs -SD_WAKE_BALANCE
930.591 MB/sec 8 procs min_granularity+wakeup_granularity *= 2
926.836 MB/sec 8 procs NO_GENTLE_FAIR_SLEEPERS
931.148 MB/sec 8 procs min_granularity+wakeup_granularity *= 2
vs stock 1.030

vmark

146264
116559 stock
vs stock 1.254

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/