Messages in this thread | | | Subject | Re: 20% performance drop on PostgreSQL 9.2 from kernel 3.5.3 to 3.6-rc5 on AMD chipsets - bisected | From | Peter Zijlstra <> | Date | Sat, 15 Sep 2012 00:10:34 +0200 |
| |
On Fri, 2012-09-14 at 15:01 -0700, Linus Torvalds wrote: > Sure, it doesn't take tsk_cpus_allowed() into account while setting up > the cache (since it's not dynamic enough), but *assuming* the common > case is that people let threads be on any of the cores of a package, > it should be possible to make the cache 100% equivalent with no > semantic change. No?
I'm not seeing how it could be. Only ever looking at 1 other cpu (regardless which one) cannot be the same as checking 'all' of them.
Suppose we have the 6 core AMD chip, a task being woken on cpu0 would look at cpus 1-6 (the entire package shares cache) to see if any of them was idle. Only looking at a single cpu will avoid looking at the other 4.
The chance of finding an idle cpu to run on is much bigger the more cpus you look at (also more expensive).
| |