Re: [PATCH] x86: enable RCU based table free when PARAVIRT
From: Linus Torvalds
Date: Wed Aug 23 2017 - 19:03:59 EST
On Wed, Aug 23, 2017 at 3:36 PM, Kirill A. Shutemov
<kirill.shutemov@xxxxxxxxxxxxxxx> wrote:
>
> Below is test cases that allocates a lot of page tables and measuare
> fork/exit time. (I'm not entirely sure it's the best way to stress the
> codepath.)
Looks ok to me. Doing a profile (without the RCU freeing, obviously) gives me
0.77% a.out [kernel.vmlinux] [k] free_pgd_range
â
so it does seem to spend time in the page directory code.
> Unpatched: average 4.8322s, stddev 0.114s
> Patched: average 4.8362s, stddev 0.111s
Ok, I vote for avoiding the complexity of two different behaviors, and
just making the page table freeing use RCU unconditionally.
If actively trying to trigger that code doesn't show a real measurable
difference, I don't think it matters, and the fewer different code
paths we have, the better.
Linus