From: Tycho Andersen <tycho@tycho.ws>
To: Julian Stecklina <jsteckli@amazon.de>
Cc: Juerg Haefliger <juergh@gmail.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
David Woodhouse <dwmw@amazon.co.uk>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
deepa.srinivasan@oracle.com, Jim Mattson <jmattson@google.com>,
Andrew Cooper <andrew.cooper3@citrix.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Boris Ostrovsky <boris.ostrovsky@oracle.com>,
linux-mm <linux-mm@kvack.org>,
Thomas Gleixner <tglx@linutronix.de>,
joao.m.martins@oracle.com, pradeep.vincent@oracle.com,
Andi Kleen <ak@linux.intel.com>,
Khalid Aziz <khalid.aziz@oracle.com>,
kanth.ghatraju@oracle.com, Liran Alon <liran.alon@oracle.com>,
Kees Cook <keescook@google.com>,
Kernel Hardening <kernel-hardening@lists.openwall.com>,
chris.hyser@oracle.com, Tyler Hicks <tyhicks@canonical.com>,
John Haxby <john.haxby@oracle.com>, Jon Masters <jcm@redhat.com>
Subject: Re: Redoing eXclusive Page Frame Ownership (XPFO) with isolated CPUs in mind (for KVM to isolate its guests per CPU)
Date: Mon, 17 Sep 2018 04:19:50 -0600 [thread overview]
Message-ID: <20180917101950.GG4672@cisco> (raw)
In-Reply-To: <ciirm8r2hs30kh.fsf@u54ee758033e858cfa736.ant.amazon.com>
On Mon, Sep 17, 2018 at 12:01:02PM +0200, Julian Stecklina wrote:
> Juerg Haefliger <juergh@gmail.com> writes:
>
> >> I've updated my XPFO branch[1] to make some of the debugging optional
> >> and also integrated the XPFO bookkeeping with struct page, instead of
> >> requiring CONFIG_PAGE_EXTENSION, which removes some checks in the hot
> >> path.
> >
> > FWIW, that was my original design but there was some resistance to
> > adding more to the page struct and page extension was suggested
> > instead.
>
> From looking at both versions, I have to say that having the metadata in
> struct page makes the code easier to understand and removes some special
> cases and bookkeeping.
>
> > I'm wondering how much performance we're loosing by having to split
> > hugepages. Any chance this can be quantified somehow? Maybe we can
> > have a pool of some sorts reserved for userpages and group allocations
> > so that we can track the XPFO state at the hugepage level instead of
> > at the 4k level to prevent/reduce page splitting. Not sure if that
> > causes issues or has any unwanted side effects though...
>
> Optimizing the allocation/deallocation path might be worthwhile, because
> that's where most of the overhead goes. I haven't looked into how to do
> this yet. I'd appreciate if someone has pointers to code that tries to
> achieve similar functionality to get me started.
>
> That being said, I'm wondering whether we have unrealistic expectations
> about the overhead here and whether it's worth turning this patch into
> something far more complicated. Opinions?
I think that implementing Dave Hansen's suggestions of not doing
flushes/other work on every map/unmap, but only when pages are added
to the various free lists will probably help out a lot. That's where I
got stuck last time when I was trying to do it, though :)
Cheers,
Tycho
next prev parent reply other threads:[~2018-09-17 10:19 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-20 21:25 Redoing eXclusive Page Frame Ownership (XPFO) with isolated CPUs in mind (for KVM to isolate its guests per CPU) Konrad Rzeszutek Wilk
2018-08-20 21:48 ` Linus Torvalds
[not found] ` <1534801939.10027.24.camel@amazon.co.uk>
2018-08-20 22:18 ` Kees Cook
2018-08-20 22:27 ` Linus Torvalds
2018-08-20 22:35 ` Tycho Andersen
2018-08-20 22:59 ` Dave Hansen
2018-08-20 23:14 ` David Woodhouse
2018-08-20 23:26 ` Dave Hansen
2018-08-20 23:38 ` Linus Torvalds
2018-08-21 9:57 ` David Woodhouse
2018-08-21 14:01 ` Liran Alon
2018-08-21 14:22 ` David Woodhouse
2018-08-21 23:04 ` Liran Alon
2018-08-30 16:00 ` Julian Stecklina
2018-08-31 15:26 ` Tycho Andersen
2018-09-01 21:38 ` Linus Torvalds
2018-09-03 14:51 ` Julian Stecklina
2018-09-12 15:37 ` Julian Stecklina
2018-09-13 6:11 ` Juerg Haefliger
2018-09-17 10:01 ` Julian Stecklina
2018-09-17 10:19 ` Tycho Andersen [this message]
2018-09-17 13:27 ` Christoph Hellwig
2018-09-14 17:06 ` Khalid Aziz
2018-09-17 9:51 ` Julian Stecklina
2018-09-18 23:00 ` Khalid Aziz
2018-09-24 14:45 ` Stecklina, Julian
2018-10-15 8:07 ` Khalid Aziz
2018-10-24 11:00 ` Khalid Aziz
2018-10-24 15:00 ` Tycho Andersen
2018-09-03 15:26 ` Andi Kleen
2018-09-04 9:37 ` Julian Stecklina
[not found] ` <CACfEFw_h5uup-anKZwfBcWMJB7gHxb9NEPTRSUAY0+t11RiQbg@mail.gmail.com>
2018-09-03 15:36 ` Andi Kleen
2018-09-07 21:30 ` Khalid Aziz
2018-08-31 8:43 ` James Bottomley
2018-09-19 1:03 ` Balbir Singh
2018-09-19 15:43 ` Jonathan Adams
2018-09-23 2:33 ` Balbir Singh
2018-09-25 14:12 ` Stecklina, Julian
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=20180917101950.GG4672@cisco \
--to=tycho@tycho.ws \
--cc=ak@linux.intel.com \
--cc=andrew.cooper3@citrix.com \
--cc=boris.ostrovsky@oracle.com \
--cc=chris.hyser@oracle.com \
--cc=deepa.srinivasan@oracle.com \
--cc=dwmw@amazon.co.uk \
--cc=jcm@redhat.com \
--cc=jmattson@google.com \
--cc=joao.m.martins@oracle.com \
--cc=john.haxby@oracle.com \
--cc=jsteckli@amazon.de \
--cc=juergh@gmail.com \
--cc=kanth.ghatraju@oracle.com \
--cc=keescook@google.com \
--cc=kernel-hardening@lists.openwall.com \
--cc=khalid.aziz@oracle.com \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=liran.alon@oracle.com \
--cc=pradeep.vincent@oracle.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=tyhicks@canonical.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).