All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: "Kirill A. Shutemov" <kirill@shutemov.name>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>,
	"the arch/x86 maintainers" <x86@kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	xen-devel <xen-devel@lists.xenproject.org>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, "H. Peter Anvin" <hpa@zytor.com>,
	"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Jork Loeser <Jork.Loeser@microsoft.com>,
	KY Srinivasan <kys@microsoft.com>,
	Stephen Hemminger <sthemmin@microsoft.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Andy Lutomirski <luto@amacapital.net>
Subject: Re: [PATCH] x86: enable RCU based table free when PARAVIRT
Date: Wed, 23 Aug 2017 13:27:18 -0700	[thread overview]
Message-ID: <CA+55aFxDwWgMQa2HGfgWKOxqfepiBu5XVpGj3VJ=f53a=w0kpA@mail.gmail.com> (raw)
In-Reply-To: <20170823195955.wnyg2dcv4c23kdoj@node.shutemov.name>

On Wed, Aug 23, 2017 at 12:59 PM, Kirill A. Shutemov
<kirill@shutemov.name> wrote:
>
> In this case we need performance numbers for !PARAVIRT kernel.

Yes.

> Numbers for tight loop of "mmap(MAP_POPULATE); munmap()" might be
> interesting too for worst case scenario.

Actually, I don't think you want to populate all the pages. You just
want to populate *one* page, in order to build up the page directory
structure, not allocate all the final points.

And we only free the actual page tables when there is nothing around,
so it should be at least a 2MB-aligned region etc.

So you should do a *big* allocation, and then touch a single page in
the middle, and then minmap it - that should give you maximal page
table activity. Otherwise the page tables will generally just stay
around.

Realistically, it's mainly exit() that frees page tables. Yes, you may
have a few page tables free'd by a normal munmap(), but it's usually
very limited. Which is why I suggested that script-heavy thing with
lots of small executables. That tends to be the main realistic load
that really causes a ton of page directory activity.

              Linus

  parent reply	other threads:[~2017-08-23 20:27 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-23 13:45 [PATCH] x86: enable RCU based table free when PARAVIRT Vitaly Kuznetsov
2017-08-23 18:26 ` Linus Torvalds
2017-08-23 18:26 ` Linus Torvalds
2017-08-23 19:59   ` Kirill A. Shutemov
2017-08-23 20:27     ` Linus Torvalds
2017-08-23 20:27     ` Linus Torvalds [this message]
2017-08-23 22:36       ` Kirill A. Shutemov
2017-08-23 22:36       ` Kirill A. Shutemov
2017-08-23 23:03         ` Linus Torvalds
2017-08-23 23:03         ` Linus Torvalds
2017-08-24  8:47           ` Vitaly Kuznetsov
2017-08-24  8:47           ` Vitaly Kuznetsov
2017-08-24  8:47           ` Kirill A. Shutemov
2017-08-24  8:47           ` Kirill A. Shutemov
2017-08-23 19:59   ` Kirill A. Shutemov
2017-08-23 13:45 Vitaly Kuznetsov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+55aFxDwWgMQa2HGfgWKOxqfepiBu5XVpGj3VJ=f53a=w0kpA@mail.gmail.com' \
    --to=torvalds@linux-foundation.org \
    --cc=Jork.Loeser@microsoft.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=hpa@zytor.com \
    --cc=jgross@suse.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=kirill@shutemov.name \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luto@amacapital.net \
    --cc=mingo@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=sthemmin@microsoft.com \
    --cc=tglx@linutronix.de \
    --cc=vkuznets@redhat.com \
    --cc=x86@kernel.org \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.