Messages in this thread | | | Subject | Re: UDP-U stream performance regression on 32-rc1 kernel | From | Mike Galbraith <> | Date | Tue, 03 Nov 2009 10:09:25 +0100 |
| |
On Tue, 2009-11-03 at 12:33 +0800, Zhang, Yanmin wrote: > On Tue, 2009-11-03 at 11:47 +0800, Alex Shi wrote: > > We found the UDP-U 1k/4k stream of netperf benchmark have some > > performance regression from 10% to 20% on our Tulsa and some NHM > > machines. > > perf events shows function find_busiest_group consumes about 4.5% cpu time > with the patch while it only consumes 0.5% cpu time without the patch. > > The communication between netperf client and netserver is very fast. > When netserver receives a message and there is no new message available, > it goes to sleep and scheduler calls idle_balance => load_balance_newidle. > load_balance_newidle spends too much time and a new message arrives quickly > before load_balance_newidle ends.
I have a similar problem wrt ramp-up and affinity, so will certainly be doing battle with the thing here.
It's harming mysql+oltp and pgsql+oltp ramp up, and modest load in general by pulling at the first micro-sleep. After twiddling wake_affine() to spread to a shared cache, newidle comes along and throws a wrench into my plans an eyeblink later.
> As the comments in the patch say hackbench benefits from it, I tested hackbench > on Nehalem and core2 machines. hackbench does benefit from it, about 6% on > nehalem machines, but doesn't benefit on core2 machines.
It depends a lot on the load. I have a testcase which spawns threads at a ~high rate. There, turning it off costs ~42% on my little Q6600 box. It's also a modest utilization win for a kbuild.
In any case though, it certainly wants a couple fangs pulled.
-Mike
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |