Messages in this thread | | | Date | Thu, 24 Aug 2017 11:47:46 +0300 | From | "Kirill A. Shutemov" <> | Subject | Re: [PATCH] x86: enable RCU based table free when PARAVIRT |
| |
On Wed, Aug 23, 2017 at 04:03:53PM -0700, Linus Torvalds wrote: > On Wed, Aug 23, 2017 at 3:36 PM, Kirill A. Shutemov > <kirill.shutemov@linux.intel.com> 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.
Numbers from bigger 2-socket machine:
Unpatched: average 5.0542s, stddev 0.058s Patched: average 5.0440s, stddev 0.072s
Still fine.
I don't see a reason not to go this path.
-- Kirill A. Shutemov
| |