Re: sched: context tracking demolishes pipe-test

From: Peter Zijlstra
Date: Mon Jul 01 2013 - 04:07:15 EST


On Mon, Jul 01, 2013 at 08:07:55AM +0200, Mike Galbraith wrote:
> On Sun, 2013-06-30 at 23:29 +0200, Peter Zijlstra wrote:
>
> > Yeah, who'd have thought that putting stuff in the syscall path would've
> > made syscalls more expensive ;-)
>
> (careful, you'll injure my innocence, Santa and the Tooth Fairy exist!)
>
> > But yeah, that's a _lot_ more expensive.. I'd not be surprised if more
> > people would find that objectionable.
>
> Distros may want some hot patching or _something_ before doing the usual
> new=turn-it-on thing. Per trusty (spelled with 'c') old Q6600, the cost
> is pretty darn high.
>
> -regress is my ~light regression testing config, carried forward from
> 3.6.32...master across all intervening trees.
> -regressx is plus CONFIG_RCU_USER_QS=y CONFIG_CONTEXT_TRACKING_FORCE=y
> -regressxx is plus full dynticks
>
> taskset -c 3 pipe-test 1
>
> 2.6.32-regress 654.5 Khz 1.000
> 3.10.0-regress 652.1 Khz .996 1.000
> 3.10.0-regressx 476.8 Khz .728 .731
> 3.10.0-regressxx 275.6 Khz .421 .422
>
> tbench
>
> 2.6.32-regress 327.502 MB/sec 1.000
> 3.10.0-regress 319.621 MB/sec .975 1.000
> 3.10.0-regressx 292.894 MB/sec .894 .916
> 3.10.0-regressxx 243.738 MB/sec .744 .762
>
> netperf TCP_RR
>
> 2.6.32-regress 104041.84 Trans/sec 1.000
> 3.10.0-regress 94961.34 Trans/sec .912 1.000
> 3.10.0-regressx 82383.33 Trans/sec .791 .867
> 3.10.0-regressxx 61527.59 Trans/sec .591 .647

So aside from the context tracking stuff, there's still a regression
we might want to look at. That's still a ~10% drop against 2.6.32 for
TCP_RR and few percents for tbench.
--
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/