mbox

[Xen-devel,v5,0/8] xen: arm: Use super pages in p2m

Message ID 1404907608.16789.18.camel@kazak.uk.xensource.com
State New
Headers show

Pull-request

git://xenbits.xen.org/people/ianc/xen.git arm-p2m-superpages-v5

Message

Ian Campbell July 9, 2014, 12:06 p.m. UTC
The following series adds support for superpage mappings (1G and 2M) in
the p2m for dom0 and domU.

On a 32-bit platform this causes the overhead of kernbench vs. native to
drop from 8-9% to 1.5-3% (it's basically the same for both dom0 and
domU).

I couldn't get my 64-bit platform to boot natively for some reason but
in absolute terms kernbench improved by ~5% (domU) to ~15% (dom0).

A   xen: arm: dump vcpu gic info in arch_dump_vcpu_info
At  tools/libxc: pull min/max_t into xc_private.h
At  tools: arm: allocate large pages to guests.
A   xen: arm: only put_page for p2m operations which require it.
A   xen: arm: handle superpage mappings in p2m_lookup
A m xen: arm: add some helpers for assessing p2m pte
  m xen: arm: use superpages in p2m when pages are suitably aligned
    xen: arm: allocate more than one bank for 1:1 domain 0 if needed

A == ARM ack
t == Tools ACK still needed
m == modifications this round

Ian.

The following changes since commit f9cff088f470b662df1ac31d1161b4f1870b8546:

  oxenstored: perform a 3-way merge of the quota after a transaction (2014-07-04 09:49:09 +0100)

are available in the git repository at:

  git://xenbits.xen.org/people/ianc/xen.git arm-p2m-superpages-v5

for you to fetch changes up to 4f8e06b5a901e58cb095878ced7989ac65dd7f3d:

  xen: arm: allocate more than one bank for 1:1 domain 0 if needed (2014-07-09 13:02:47 +0100)

----------------------------------------------------------------
Ian Campbell (8):
      xen: arm: dump vcpu gic info in arch_dump_vcpu_info
      tools/libxc: pull min/max_t into xc_private.h
      tools: arm: allocate large pages to guests.
      xen: arm: only put_page for p2m operations which require it.
      xen: arm: handle superpage mappings in p2m_lookup
      xen: arm: add some helpers for assessing p2m pte
      xen: arm: use superpages in p2m when pages are suitably aligned
      xen: arm: allocate more than one bank for 1:1 domain 0 if needed

 tools/libxc/xc_dom_arm.c                  |  131 ++++++-
 tools/libxc/xc_dom_decompress_unsafe_xz.c |    5 -
 tools/libxc/xc_private.h                  |    5 +
 xen/arch/arm/domain.c                     |    8 +-
 xen/arch/arm/domain_build.c               |  288 +++++++++++++--
 xen/arch/arm/p2m.c                        |  554 ++++++++++++++++++++++-------
 xen/include/asm-arm/p2m.h                 |   12 +
 7 files changed, 822 insertions(+), 181 deletions(-)

Comments

Ian Campbell July 10, 2014, 10:32 a.m. UTC | #1
On Wed, 2014-07-09 at 13:06 +0100, Ian Campbell wrote:
> The following series adds support for superpage mappings (1G and 2M) in
> the p2m for dom0 and domU.
> 
> On a 32-bit platform this causes the overhead of kernbench vs. native to
> drop from 8-9% to 1.5-3% (it's basically the same for both dom0 and
> domU).
> 
> I couldn't get my 64-bit platform to boot natively for some reason but
> in absolute terms kernbench improved by ~5% (domU) to ~15% (dom0).
> 
> A   xen: arm: dump vcpu gic info in arch_dump_vcpu_info
> At  tools/libxc: pull min/max_t into xc_private.h

Ian did actually ack this one in a previous iteration

> At  tools: arm: allocate large pages to guests.

And has now acked this one.

> A   xen: arm: only put_page for p2m operations which require it.
> A   xen: arm: handle superpage mappings in p2m_lookup
> A m xen: arm: add some helpers for assessing p2m pte

So I've applied up to here.

>   m xen: arm: use superpages in p2m when pages are suitably aligned

Julien had a comment here so I've not applied this one yet.

>     xen: arm: allocate more than one bank for 1:1 domain 0 if needed
> 
> A == ARM ack
> t == Tools ACK still needed
> m == modifications this round
> 
> Ian.
> 
> The following changes since commit f9cff088f470b662df1ac31d1161b4f1870b8546:
> 
>   oxenstored: perform a 3-way merge of the quota after a transaction (2014-07-04 09:49:09 +0100)
> 
> are available in the git repository at:
> 
>   git://xenbits.xen.org/people/ianc/xen.git arm-p2m-superpages-v5
> 
> for you to fetch changes up to 4f8e06b5a901e58cb095878ced7989ac65dd7f3d:
> 
>   xen: arm: allocate more than one bank for 1:1 domain 0 if needed (2014-07-09 13:02:47 +0100)
> 
> ----------------------------------------------------------------
> Ian Campbell (8):
>       xen: arm: dump vcpu gic info in arch_dump_vcpu_info
>       tools/libxc: pull min/max_t into xc_private.h
>       tools: arm: allocate large pages to guests.
>       xen: arm: only put_page for p2m operations which require it.
>       xen: arm: handle superpage mappings in p2m_lookup
>       xen: arm: add some helpers for assessing p2m pte
>       xen: arm: use superpages in p2m when pages are suitably aligned
>       xen: arm: allocate more than one bank for 1:1 domain 0 if needed
> 
>  tools/libxc/xc_dom_arm.c                  |  131 ++++++-
>  tools/libxc/xc_dom_decompress_unsafe_xz.c |    5 -
>  tools/libxc/xc_private.h                  |    5 +
>  xen/arch/arm/domain.c                     |    8 +-
>  xen/arch/arm/domain_build.c               |  288 +++++++++++++--
>  xen/arch/arm/p2m.c                        |  554 ++++++++++++++++++++++-------
>  xen/include/asm-arm/p2m.h                 |   12 +
>  7 files changed, 822 insertions(+), 181 deletions(-)
> 
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel