[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170824084746.brbfcth76yew6lr2@node.shutemov.name>
Date: Thu, 24 Aug 2017 11:47:46 +0300
From: "Kirill A. Shutemov" <kirill@...temov.name>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: "Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
the arch/x86 maintainers <x86@...nel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
xen-devel <xen-devel@...ts.xenproject.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>,
Peter Zijlstra <peterz@...radead.org>,
Jork Loeser <Jork.Loeser@...rosoft.com>,
KY Srinivasan <kys@...rosoft.com>,
Stephen Hemminger <sthemmin@...rosoft.com>,
Steven Rostedt <rostedt@...dmis.org>,
Juergen Gross <jgross@...e.com>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Andrew Cooper <andrew.cooper3@...rix.com>,
Andy Lutomirski <luto@...capital.net>
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@...ux.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
Powered by blists - more mailing lists