public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Julien Grall <julien.grall@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"wei.liu2@citrix.com" <wei.liu2@citrix.com>,
	"Ian.Campbell@citrix.com" <Ian.Campbell@citrix.com>,
	"stefano.stabellini@eu.citrix.com"
	<stefano.stabellini@eu.citrix.com>,
	"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"david.vrabel@citrix.com" <david.vrabel@citrix.com>,
	"boris.ostrovsky@oracle.com" <boris.ostrovsky@oracle.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"roger.pau@citrix.com" <roger.pau@citrix.com>,
	Suzuki Poulose <Suzuki.Poulose@arm.com>
Subject: Re: [PATCH v5 00/22] xen/arm64: Add support for 64KB page in Linux
Date: Wed, 30 Sep 2015 12:32:14 +0100	[thread overview]
Message-ID: <20150930113214.GA10997@leverpostej> (raw)
In-Reply-To: <1443609937-25278-1-git-send-email-julien.grall@citrix.com>

On Wed, Sep 30, 2015 at 11:45:15AM +0100, Julien Grall wrote:
> Hi all,

Hi,

> ARM64 Linux is supporting both 4KB and 64KB page granularity. Although, Xen
> hypercall interface and PV protocol are always based on 4KB page granularity.
> 
> Any attempt to boot a Linux guest with 64KB pages enabled will result to a
> guest crash.
> 
> This series is a first attempt to allow those Linux running with the current
> hypercall interface and PV protocol.
> 
> This solution has been chosen because we want to run Linux 64KB in released
> Xen ARM version or/and platform using an old version of Linux DOM0.

Just to check, would this be expected to work with a 16K DomU (e.g.
[2])?

>From a quick scan it looks like the relaxations provided by this series
should work so long as PAGE_SIZE % XEN_PAGE_SIZE == 0, assuming I
haven't missed something.

> There is room for improvement, such as support of 64KB grant, modification
> of PV protocol to support different page size... They will be explored in a
> separate patch series later.
> 
> TODO list:
>     - Convert xenfb to 64KB
>     - Support for multiple page ring support
>     - Support for 64KB in gnttdev
>     - Support of non-indirect grant with 64KB frontend (patch sent [1])
>     - It may be possible to move some common define between
>     netback/netfront and blkfront/blkback in an header

Would any of these require more work to also handle 16K?

Thanks,
Mark.

[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-September/370117.html

> I've got most of the patches for the TODO items. I'm planning to send them as
> a follow-up as it's not a requirement for a basic guests.
> 
> All patches has been built tested for ARM32, ARM64, x86. But I haven't tested
> to run it on x86 as I don't have a box with Xen x86 running. Although, 99%
> of the changes has been made in the PV drivers there should be no specific
> issue. Although, I would be happy if someone give a try and see possible
> regression for x86.
> 
> I know that Konrad as a test-suite for x86. Konrand, would it be possible to
> give a run to for this series?
> 
> A branch based on the latest xentip/for-linus-4.4 can be found here:
> 
> git://xenbits.xen.org/people/julieng/linux-arm.git branch xen-64k-v5
> 
> There is no major changes in this series, only a couple of conflict during
> rebase in netback and balloon drivers. For those pathces, I've keept the
> reviewed-by/acked-by from Wei and Stefano. Let me know if it's not fine.
> 
> I also fold the swiotlb patch series into this series because it has been
> reviewed by Stefano and I don't think there is much controversy (see patch #21
> and #22).
> 
> Comments, suggestions are welcomed.
> 
> Sincerely yours,
> 
> [1] https://lkml.org/lkml/2015/9/11/567
> 
> Cc: david.vrabel@citrix.com
> Cc: konrad.wilk@oracle.com
> Cc: boris.ostrovsky@oracle.com
> Cc: wei.liu2@citrix.com
> Cc: roger.pau@citrix.com
> 
> Status of each patch:
> 
> A: Reviewed-by - Acked-by
> M: Patch modified in this series
> m: Minor changes in this series due to conflict during rebase
> L: Missing Acked-by from a Linux maintainers (Boris, David or Konrad)
> 
> Julien Grall (22):
> A       net/xen-netback: xenvif_gop_frag_copy: move GSO check out of the loop
> A       arm/xen: Drop pte_mfn and mfn_pte
> A   L   xen: Add Xen specific page definition
> A       xen/grant: Introduce helpers to split a page into grant
> A       xen/grant: Add helper gnttab_page_grant_foreign_access_ref_one
> A       block/xen-blkfront: Split blkif_queue_request in 2
> A       block/xen-blkfront: Store a page rather a pfn in the grant structure
> A       block/xen-blkfront: split get_grant in 2
> A   L   xen/biomerge: Don't allow biovec's to be merged when Linux is not
>           using 4KB pages
> A       xen/xenbus: Use Xen page definition
> A   L   tty/hvc: xen: Use xen page definition
> A m L   xen/balloon: Don't rely on the page granularity is the same for Xen
>           and Linux
> A       xen/events: fifo: Make it running on 64KB granularity
> A       xen/grant-table: Make it running on 64KB granularity
> A       block/xen-blkfront: Make it running on 64KB page granularity
> A       block/xen-blkback: Make it running on 64KB page granularity
> A       net/xen-netfront: Make it running on 64KB page granularity
> A m     net/xen-netback: Make it running on 64KB page granularity
> A       xen/privcmd: Add support for Linux 64KB page granularity
> A       arm/xen: Add support for 64KB page granularity
> A m L   xen/swiotlb: Pass addresses rather than frame numbers to
>           xen_arch_need_swiotlb
> A   L   xen/swiotlb: Add support for 64KB page granularity
> 
>  arch/arm/include/asm/xen/page-coherent.h |  26 +-
>  arch/arm/include/asm/xen/page.h          |  22 +-
>  arch/arm/xen/enlighten.c                 |   6 +-
>  arch/arm/xen/mm.c                        |  39 ++-
>  arch/arm/xen/p2m.c                       |   6 +-
>  arch/x86/include/asm/xen/page.h          |   6 +-
>  drivers/block/xen-blkback/blkback.c      |   5 +-
>  drivers/block/xen-blkback/common.h       |  17 +-
>  drivers/block/xen-blkback/xenbus.c       |   9 +-
>  drivers/block/xen-blkfront.c             | 552 ++++++++++++++++++++-----------
>  drivers/net/xen-netback/common.h         |  16 +-
>  drivers/net/xen-netback/netback.c        | 167 ++++++----
>  drivers/net/xen-netfront.c               | 122 +++++--
>  drivers/tty/hvc/hvc_xen.c                |   4 +-
>  drivers/xen/balloon.c                    |  69 +++-
>  drivers/xen/biomerge.c                   |   8 +
>  drivers/xen/events/events_base.c         |   2 +-
>  drivers/xen/events/events_fifo.c         |   2 +-
>  drivers/xen/grant-table.c                |  32 +-
>  drivers/xen/privcmd.c                    |   8 +-
>  drivers/xen/swiotlb-xen.c                |  43 ++-
>  drivers/xen/xenbus/xenbus_client.c       |   6 +-
>  drivers/xen/xenbus/xenbus_probe.c        |   3 +-
>  drivers/xen/xlate_mmu.c                  | 124 ++++---
>  include/xen/grant_table.h                |  51 +++
>  include/xen/page.h                       |  27 +-
>  26 files changed, 937 insertions(+), 435 deletions(-)
> 
> -- 
> 2.1.4
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> 

  parent reply	other threads:[~2015-09-30 11:32 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-30 10:45 [PATCH v5 00/22] xen/arm64: Add support for 64KB page in Linux Julien Grall
2015-09-30 10:45 ` [PATCH v5 01/22] net/xen-netback: xenvif_gop_frag_copy: move GSO check out of the loop Julien Grall
2015-09-30 10:45 ` [PATCH v5 02/22] arm/xen: Drop pte_mfn and mfn_pte Julien Grall
2015-09-30 10:45 ` [PATCH v5 03/22] xen: Add Xen specific page definition Julien Grall
2015-09-30 10:45 ` [PATCH v5 04/22] xen/grant: Introduce helpers to split a page into grant Julien Grall
2015-09-30 10:45 ` [PATCH v5 05/22] xen/grant: Add helper gnttab_page_grant_foreign_access_ref_one Julien Grall
2015-09-30 10:50   ` Julien Grall
2015-09-30 10:45 ` [PATCH v5 06/22] block/xen-blkfront: Split blkif_queue_request in 2 Julien Grall
2015-09-30 10:45 ` [PATCH v5 07/22] block/xen-blkfront: Store a page rather a pfn in the grant structure Julien Grall
2015-09-30 10:45 ` [PATCH v5 08/22] block/xen-blkfront: split get_grant in 2 Julien Grall
2015-09-30 10:45 ` [PATCH v5 09/22] xen/biomerge: Don't allow biovec's to be merged when Linux is not using 4KB pages Julien Grall
2015-09-30 10:45 ` [PATCH v5 10/22] xen/xenbus: Use Xen page definition Julien Grall
2015-09-30 10:45 ` [PATCH v5 11/22] tty/hvc: xen: Use xen " Julien Grall
2015-09-30 10:45 ` [PATCH v5 12/22] xen/balloon: Don't rely on the page granularity is the same for Xen and Linux Julien Grall
2015-10-02 14:09   ` David Vrabel
2015-10-02 14:31     ` Julien Grall
2015-10-02 14:52       ` Julien Grall
2015-10-02 15:18         ` Boris Ostrovsky
2015-10-02 15:19         ` [Xen-devel] " David Vrabel
2015-09-30 10:45 ` [PATCH v5 13/22] xen/events: fifo: Make it running on 64KB granularity Julien Grall
2015-09-30 10:45 ` [PATCH v5 14/22] xen/grant-table: " Julien Grall
2015-09-30 10:45 ` [PATCH v5 15/22] block/xen-blkfront: Make it running on 64KB page granularity Julien Grall
2015-09-30 10:45 ` [PATCH v5 16/22] block/xen-blkback: " Julien Grall
2015-09-30 10:45 ` [PATCH v5 17/22] net/xen-netfront: " Julien Grall
2015-09-30 10:45 ` [PATCH v5 18/22] net/xen-netback: " Julien Grall
2015-09-30 10:45 ` [PATCH v5 19/22] xen/privcmd: Add support for Linux " Julien Grall
2015-09-30 10:45 ` [PATCH v5 20/22] arm/xen: Add support for " Julien Grall
2015-09-30 10:45 ` [PATCH v5 21/22] xen/swiotlb: Pass addresses rather than frame numbers to xen_arch_need_swiotlb Julien Grall
2015-09-30 10:45 ` [PATCH v5 22/22] xen/swiotlb: Add support for 64KB page granularity Julien Grall
2015-09-30 11:32 ` Mark Rutland [this message]
2015-09-30 11:45   ` [PATCH v5 00/22] xen/arm64: Add support for 64KB page in Linux Julien Grall
2015-09-30 13:04     ` Mark Rutland
2015-10-01 15:15 ` [Xen-devel] " David Vrabel

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=20150930113214.GA10997@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=Suzuki.Poulose@arm.com \
    --cc=boris.ostrovsky@oracle.com \
    --cc=david.vrabel@citrix.com \
    --cc=julien.grall@citrix.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=roger.pau@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=wei.liu2@citrix.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox