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