From: roger.pau@citrix.com (Roger Pau Monné)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 00/20] xen/arm64: Add support for 64KB page in Linux
Date: Tue, 6 Oct 2015 11:28:08 +0200 [thread overview]
Message-ID: <56139428.4050402@citrix.com> (raw)
In-Reply-To: <1442919576.10338.146.camel@citrix.com>
El 22/09/15 a les 12.59, Ian Campbell ha escrit:
> On Mon, 2015-09-14 at 17:23 +0200, Roger Pau Monn? wrote:
>> I'm not saying that we shouldn't take those patches, I'm just saying
>> that IMHO this is a workaround, and I would like to see a plan and
>> somebody committed to have it fixed in a proper way, by introducing a
>> 64KB PV block protocol.
>
> In my view the basic unit of operation for all Xen interfaces (on x86 and
> arm at least[0]) is 4K. The peer at either end of a PV protocol should
> therefore be entitled to assume that at a minimum the other end supports
> operation in 4K mode (i.e. 4K is the baseline).
>
> Operations in larger sizes (which would necessarily be multiples of 4K) are
> then an extension which is subject to a negotiation between the two ends,
> it doesn't really matter if those larger sizes arise because of the use of
> superpages or because the guest is internally using some larger basic page
> size (which ARM calls a "granule", and where 64K comes from here).
>
> I think this line of reasoning applies just as strongly to the hypercall
> ABI as well BTW, they all use 4K as their basic unit, but might support
> extensions to operation on multiples of that (negotiated either via a
> specific error return and fallback or via the use of XENFEAT).
Yes, I completely agree that the current Xen interface is based on 4KB
chunks. What I'm trying to say is that the approach taken, which is
"let's not modify Xen" puts all the burden on the guest and it is going
to hurt us in the long run.
Are we expecting all guests that want to use 64KB page to implement all
the modifications that are needed? IMHO, those modifications are very
far from trivial, and we are putting the bar for Xen guest support very
high, and that is wrong. We are already struggling to have a decent set
of PV drivers on guests different than Linux, and this is certainly not
making things easier.
Do KVM guests also need such extensive set of modifications in order to
run using 64KB pages? I know it's not fair to compare KVM and Xen in
this regard, because the interfaces are very different, but that's what
developers are going to look at.
Roger.
WARNING: multiple messages have this Message-ID (diff)
From: "Roger Pau Monné" <roger.pau@citrix.com>
To: Ian Campbell <ian.campbell@citrix.com>,
Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: Julien Grall <julien.grall@citrix.com>,
<xen-devel@lists.xenproject.org>, <wei.liu2@citrix.com>,
<konrad.wilk@oracle.com>, <linux-kernel@vger.kernel.org>,
<david.vrabel@citrix.com>, <boris.ostrovsky@oracle.com>,
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v4 00/20] xen/arm64: Add support for 64KB page in Linux
Date: Tue, 6 Oct 2015 11:28:08 +0200 [thread overview]
Message-ID: <56139428.4050402@citrix.com> (raw)
In-Reply-To: <1442919576.10338.146.camel@citrix.com>
El 22/09/15 a les 12.59, Ian Campbell ha escrit:
> On Mon, 2015-09-14 at 17:23 +0200, Roger Pau Monné wrote:
>> I'm not saying that we shouldn't take those patches, I'm just saying
>> that IMHO this is a workaround, and I would like to see a plan and
>> somebody committed to have it fixed in a proper way, by introducing a
>> 64KB PV block protocol.
>
> In my view the basic unit of operation for all Xen interfaces (on x86 and
> arm at least[0]) is 4K. The peer at either end of a PV protocol should
> therefore be entitled to assume that at a minimum the other end supports
> operation in 4K mode (i.e. 4K is the baseline).
>
> Operations in larger sizes (which would necessarily be multiples of 4K) are
> then an extension which is subject to a negotiation between the two ends,
> it doesn't really matter if those larger sizes arise because of the use of
> superpages or because the guest is internally using some larger basic page
> size (which ARM calls a "granule", and where 64K comes from here).
>
> I think this line of reasoning applies just as strongly to the hypercall
> ABI as well BTW, they all use 4K as their basic unit, but might support
> extensions to operation on multiples of that (negotiated either via a
> specific error return and fallback or via the use of XENFEAT).
Yes, I completely agree that the current Xen interface is based on 4KB
chunks. What I'm trying to say is that the approach taken, which is
"let's not modify Xen" puts all the burden on the guest and it is going
to hurt us in the long run.
Are we expecting all guests that want to use 64KB page to implement all
the modifications that are needed? IMHO, those modifications are very
far from trivial, and we are putting the bar for Xen guest support very
high, and that is wrong. We are already struggling to have a decent set
of PV drivers on guests different than Linux, and this is certainly not
making things easier.
Do KVM guests also need such extensive set of modifications in order to
run using 64KB pages? I know it's not fair to compare KVM and Xen in
this regard, because the interfaces are very different, but that's what
developers are going to look at.
Roger.
next prev parent reply other threads:[~2015-10-06 9:28 UTC|newest]
Thread overview: 144+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-07 15:33 [PATCH v4 00/20] xen/arm64: Add support for 64KB page in Linux Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 01/20] net/xen-netback: xenvif_gop_frag_copy: move GSO check out of the loop Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 02/20] arm/xen: Drop pte_mfn and mfn_pte Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 03/20] xen: Add Xen specific page definition Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 04/20] xen/grant: Introduce helpers to split a page into grant Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 05/20] xen/grant: Add helper gnttab_page_grant_foreign_access_ref_one Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 06/20] block/xen-blkfront: Split blkif_queue_request in 2 Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 07/20] block/xen-blkfront: Store a page rather a pfn in the grant structure Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 08/20] block/xen-blkfront: split get_grant in 2 Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 09/20] xen/biomerge: Don't allow biovec's to be merged when Linux is not using 4KB pages Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 10/20] xen/xenbus: Use Xen page definition Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 11/20] tty/hvc: xen: Use xen " Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 12/20] xen/balloon: Don't rely on the page granularity is the same for Xen and Linux Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 16:39 ` Stefano Stabellini
2015-09-07 16:39 ` Stefano Stabellini
2015-09-07 16:39 ` Stefano Stabellini
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 13/20] xen/events: fifo: Make it running on 64KB granularity Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 14/20] xen/grant-table: " Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 15/20] block/xen-blkfront: Make it running on 64KB page granularity Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 16/20] block/xen-blkback: " Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 17/20] net/xen-netfront: " Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 18/20] net/xen-netback: " Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 16:57 ` Wei Liu
2015-09-07 16:57 ` Wei Liu
2015-09-07 16:57 ` Wei Liu
2015-09-08 11:07 ` Julien Grall
2015-09-08 11:07 ` [Xen-devel] " Julien Grall
2015-09-08 11:07 ` Julien Grall
2015-09-08 11:09 ` Wei Liu
2015-09-08 11:09 ` [Xen-devel] " Wei Liu
2015-09-08 11:09 ` Wei Liu
2015-09-07 15:33 ` [PATCH v4 19/20] xen/privcmd: Add support for Linux " Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` [PATCH v4 20/20] arm/xen: Add support for " Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-07 15:33 ` Julien Grall
2015-09-11 19:39 ` [Xen-devel] [PATCH v4 00/20] xen/arm64: Add support for 64KB page in Linux Julien Grall
2015-09-11 19:39 ` Julien Grall
2015-09-11 19:39 ` Julien Grall
2015-09-14 8:56 ` Roger Pau Monné
2015-09-14 8:56 ` Roger Pau Monné
2015-09-14 8:56 ` Roger Pau Monné
2015-09-14 10:40 ` Julien Grall
2015-09-14 10:40 ` Julien Grall
2015-09-14 11:04 ` Roger Pau Monné
2015-09-14 11:04 ` Roger Pau Monné
2015-09-14 11:04 ` Roger Pau Monné
2015-09-14 11:21 ` Julien Grall
2015-09-14 11:21 ` Julien Grall
2015-09-14 12:08 ` Roger Pau Monné
2015-09-14 12:08 ` Roger Pau Monné
2015-09-14 12:08 ` Roger Pau Monné
2015-09-14 12:47 ` Julien Grall
2015-09-14 12:47 ` Julien Grall
2015-09-14 12:47 ` Julien Grall
2015-09-14 14:29 ` Roger Pau Monné
2015-09-14 14:29 ` Roger Pau Monné
2015-09-14 14:29 ` Roger Pau Monné
2015-09-14 14:46 ` Julien Grall
2015-09-14 14:46 ` Julien Grall
2015-09-14 14:46 ` Julien Grall
2015-09-14 14:54 ` Stefano Stabellini
2015-09-14 14:54 ` Stefano Stabellini
2015-09-14 14:54 ` Stefano Stabellini
2015-09-14 15:23 ` Roger Pau Monné
2015-09-14 15:23 ` Roger Pau Monné
2015-09-14 15:23 ` Roger Pau Monné
2015-09-22 10:59 ` Ian Campbell
2015-09-22 10:59 ` Ian Campbell
2015-10-06 9:28 ` Roger Pau Monné
2015-10-06 9:28 ` Roger Pau Monné [this message]
2015-10-06 9:28 ` Roger Pau Monné
2015-10-06 10:17 ` Ian Campbell
2015-10-06 10:17 ` Ian Campbell
2015-10-06 10:17 ` Ian Campbell
2015-10-06 13:55 ` Stefano Stabellini
2015-10-06 13:55 ` Stefano Stabellini
2015-10-06 13:55 ` Stefano Stabellini
2015-09-22 10:59 ` Ian Campbell
2015-09-18 14:10 ` Julien Grall
2015-09-18 14:10 ` Julien Grall
2015-09-18 14:10 ` Julien Grall
2015-09-14 11:21 ` Julien Grall
2015-09-14 11:32 ` Arnd Bergmann
2015-09-14 11:32 ` Arnd Bergmann
2015-09-14 11:32 ` Arnd Bergmann
2015-09-15 13:14 ` [Xen-devel] " David Vrabel
2015-09-15 13:14 ` David Vrabel
2015-09-15 13:24 ` Arnd Bergmann
2015-09-15 13:24 ` [Xen-devel] " Arnd Bergmann
2015-09-15 13:24 ` Arnd Bergmann
2015-09-15 13:14 ` David Vrabel
2015-09-14 10:40 ` Julien Grall
2015-09-29 16:27 ` [Xen-devel] " David Vrabel
2015-09-29 16:27 ` David Vrabel
2015-09-29 16:33 ` Julien Grall
2015-09-29 16:33 ` Julien Grall
2015-09-29 16:36 ` David Vrabel
2015-09-29 16:36 ` David Vrabel
2015-09-29 16:36 ` David Vrabel
2015-09-29 16:33 ` Julien Grall
2015-09-29 16:27 ` David Vrabel
-- strict thread matches above, loose matches on Subject: below --
2015-09-07 15:33 Julien Grall
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=56139428.4050402@citrix.com \
--to=roger.pau@citrix.com \
--cc=linux-arm-kernel@lists.infradead.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.