All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@citrix.com>
To: "David Vrabel" <david.vrabel@citrix.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>,
	"Stefano Stabellini" <stefano.stabellini@eu.citrix.com>
Cc: Ian Campbell <Ian.Campbell@citrix.com>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>
Subject: Re: [RFC] Support of non-indirect grant backend on 64KB guest
Date: Thu, 20 Aug 2015 09:16:43 -0700	[thread overview]
Message-ID: <55D5FD6B.1010604@citrix.com> (raw)
In-Reply-To: <55D5A15C.80206@citrix.com>



On 20/08/2015 02:43, David Vrabel wrote:
> On 20/08/15 09:31, Roger Pau Monné wrote:
>> El 20/08/15 a les 1.44, Stefano Stabellini ha escrit:
>>> On Wed, 19 Aug 2015, Roger Pau Monné wrote:
>>>> My opinion is that we have already merged quite a lot of this mess in
>>>> order to support guests with different page sizes. And in this case, the
>>>> addition of code can be done to a userspace component, which is much
>>>> less risky than adding it to blkfront, also taking into account that
>>>> it's a general improvement for Qdisk that other arches can also leverage.
>>>>
>>>> So in one hand you are adding code to a kernel component, that makes the
>>>> code much more messy and can only be leveraged by ARM. On the other
>>>> hand, you can add code a user-space backend, and that code is also
>>>> beneficial for other arches. IMHO, the decision is quite clear.
>>>
>>> 64K pages not working is entirely a Linux problem, not a Xen problem.
>>> Xen uses 4K pages as usual and exports the same 4K based hypercall
>>> interface as usual. That needs to work, no matter what the guest decides
>>> to put in its own pagetables.
>>>
>>> I remind everybody that Xen interfaces on ARM and ARM64 are fully
>>> maintained for backward compatibility. Xen is not forcing Linux to use
>>> 64K pages, that's entirely a Linux decision. The issue has nothing to do
>>> with Xen.
>>>
>>> The bug here is that Linux has broken 64K pages support and that should
>>> be fixed. I don't think is reasonable to make changes to the Xen ABIs
>>> just to accommodate the brokenness of one guest kernel in a particular
>>> configuration.
>>
>> Is it a change to the ABI to mandate indirect-descriptors support in
>> order to run arm64 with 64KB guests?
>
> No (given that there is no guest using 64 KiB guest pages that works yet).

I need to correct you here, there is no Linux guests using 64KB page 
granularity. It's possible to come up with a guests using 64KB and 
working with non-indirect grant.

It's not easily possible to do it in Linux because the block framework 
is always passing a Linux page size (i.e 4KB or 64KB). So we are 
exposing broken Linux PV drivers/interface to the backend.

>> IMHO, it is not, and none of the proposed solutions (either change
>> blkfront or Qdisk) include any change to the Xen ABI. In this case my
>> preference would be to perform the change in the backend for the reasons
>> detailed above.
>>
>> Anyway, I'm not going to block such a change, I just think there are
>> technically better ways to solve this issue.
>
> I'm already unhappy about the complexity of the stop-gap support for 64
> KiB guest pages in Linux and if there's a way to get it working by
> adding a useful missing feature to qemu's disk backend then that is what
> should be done.

I'd like to remind you that assuming that Linux and Xen was using the 
same page size was wrong. There is nothing in the Xen interface 
requiring a such things. So we ought to do it at some point given that 
ARM is not the only architecture supporting 2 different page size.

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

  reply	other threads:[~2015-08-20 16:16 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-18  6:29 [RFC] Support of non-indirect grant backend on 64KB guest Julien Grall
2015-08-18  7:09 ` Roger Pau Monné
2015-08-18  7:26   ` Jan Beulich
2015-08-18 18:45   ` Julien Grall
2015-08-19  8:50     ` Roger Pau Monné
2015-08-19 14:54       ` Julien Grall
2015-08-19 15:17         ` Roger Pau Monné
2015-08-19 15:52           ` Julien Grall
2015-08-19 23:44           ` Stefano Stabellini
2015-08-20  8:31             ` Roger Pau Monné
2015-08-20  9:43               ` David Vrabel
2015-08-20 16:16                 ` Julien Grall [this message]
2015-08-20 17:23                 ` Stefano Stabellini
2015-08-21 16:05                   ` Konrad Rzeszutek Wilk
2015-08-21 16:08                     ` David Vrabel
2015-08-21 16:49                       ` Stefano Stabellini
2015-08-21 17:10                       ` PAGE_SIZE (64KB), while block driver 'struct request' deals with < PAGE_SIZE (up to 44Kb). Was:Re: " Konrad Rzeszutek Wilk
2015-08-27 17:51                         ` Julien Grall
2015-09-04 14:04                           ` Stefano Stabellini
2015-09-04 15:41                             ` Konrad Rzeszutek Wilk
2015-09-04 16:15                               ` Julien Grall
2015-09-04 17:32                                 ` Konrad Rzeszutek Wilk
2015-09-04 22:05                                   ` Julien Grall
2015-08-20  9:37             ` Jan Beulich
2015-08-19  8:58     ` Jan Beulich
2015-08-19 15:25       ` Julien Grall
2015-08-20 17:42 ` David Vrabel
2015-08-21  1:30   ` Julien Grall
2015-08-21 16:07     ` Konrad Rzeszutek Wilk

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=55D5FD6B.1010604@citrix.com \
    --to=julien.grall@citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=david.vrabel@citrix.com \
    --cc=roger.pau@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xen.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.