Re: [PATCH 0/4] Fix ebizzy performance regression due to X86 TLBrange flush v2

From: Linus Torvalds
Date: Mon Dec 16 2013 - 12:17:42 EST


On Mon, Dec 16, 2013 at 2:39 AM, Mel Gorman <mgorman@xxxxxxx> 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
--
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/