Messages in this thread | | | Date | Mon, 16 Dec 2013 09:17:35 -0800 | Subject | Re: [PATCH 0/4] Fix ebizzy performance regression due to X86 TLB range flush v2 | From | Linus Torvalds <> |
| |
On Mon, Dec 16, 2013 at 2:39 AM, Mel Gorman <mgorman@suse.de> wrote: > > First was Alex's microbenchmark from https://lkml.org/lkml/2012/5/17/59 > and ran it for a range of thread numbers, 320 iterations per thread with > random number of entires to flush. Results are from two machines
There's something wrong with that benchmark, it sometimes gets stuck, and the profile numbers are just random (and mostly in user space).
I think you mentioned fixing a bug in it, mind pointing at the fixed benchmark?
Looking at the kernel footprint, it seems to depend on what parameters you ran that benchmark with. Under certain loads, it seems to spend most of the time in clearing pages and in the page allocation ("-t 8 -n 320"). And in other loads, it hits smp_call_function_many() and the TLB flushers ("-t 8 -n 8"). So exactly what parameters did you use?
Because we've had things that change those two things (and they are totally independent).
And does anything stand out in the profiles of ebizzy? For example, in between 3.4.x and 3.11, we've converted the anon_vma locking from a mutex to a rwsem, and we know that caused several issues, possibly causing unfairness. There are other potential sources of unfairness. It would be good to perhaps bisect things at least *somewhat*, because *so* much has changed in 3.4 to 3.11 that it's impossible to guess.
Linus
| |