[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v10 1/3] ioreq-server: add support for multiple servers



On 05/28/2014 04:39 AM, Paul Durrant wrote:
-----Original Message-----
From: xen-devel-bounces@xxxxxxxxxxxxx [mailto:xen-devel-
bounces@xxxxxxxxxxxxx] On Behalf Of Paul Durrant
Sent: 22 May 2014 14:59
To: Jan Beulich
Cc: Ian Jackson; dgdegra@xxxxxxxxxxxxx; Stefano Stabellini; xen-
devel@xxxxxxxxxxxxx
Subject: Re: [Xen-devel] [PATCH v10 1/3] ioreq-server: add support for
multiple servers

-----Original Message-----
From: Jan Beulich [mailto:JBeulich@xxxxxxxx]
Sent: 22 May 2014 14:26
To: Paul Durrant
Cc: Ian Jackson; Stefano Stabellini; xen-devel@xxxxxxxxxxxxx;
dgdegra@xxxxxxxxxxxxx
Subject: Re: [Xen-devel] [PATCH v10 1/3] ioreq-server: add support for
multiple servers

On 22.05.14 at 12:38, <paul.durrant@xxxxxxxxxx> wrote:
The previous single ioreq server that was created on demand now
becomes the default server and an API is created to allow secondary
servers, which handle specific IO ranges or PCI devices, to be added.

When the guest issues an IO the list of secondary servers is checked
for a matching IO range or PCI device. If none is found then the IO
is passed to the default server.

Secondary servers use guest pages to communicate with emulators, in
the same way as the default server. These pages need to be in the
guest physmap otherwise there is no suitable reference that can be
queried by an emulator in order to map them. Therefore a pool of
pages in the current E820 reserved region, just below the special
pages is used. Secondary servers allocate from and free to this pool
as they are created and destroyed.

The size of the pool is currently hardcoded in the domain build at a
value of 8. This should be sufficient for now and both the location and
size of the pool can be modified in future without any need to change the
API.

Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Cc: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Cc: Jan Beulich <jbeulich@xxxxxxxx>
---
  tools/libxc/xc_domain.c          |  224 ++++++++++
  tools/libxc/xc_domain_restore.c  |   48 ++
  tools/libxc/xc_domain_save.c     |   24 +
  tools/libxc/xc_hvm_build_x86.c   |   50 ++-
  tools/libxc/xc_private.c         |   16 +-
  tools/libxc/xenctrl.h            |  143 +++++-
  tools/libxc/xg_save_restore.h    |    3 +
  xen/arch/x86/hvm/hvm.c           |  908
++++++++++++++++++++++++++++++++++----
  xen/arch/x86/hvm/io.c            |    2 +-
  xen/include/asm-x86/hvm/domain.h |   26 +-
  xen/include/asm-x86/hvm/hvm.h    |    1 +
  xen/include/public/hvm/hvm_op.h  |  120 +++++
  xen/include/public/hvm/ioreq.h   |    9 +-
  xen/include/public/hvm/params.h  |    5 +-
  xen/include/xen/list.h           |    9 +
  xen/include/xsm/dummy.h          |    6 +
  xen/include/xsm/xsm.h            |    6 +
  xen/xsm/flask/hooks.c            |    6 +
  18 files changed, 1497 insertions(+), 109 deletions(-)

So I was about to apply this when I noticed the still missing ack from
Daniel on the XSM changes - you didn't even Cc him (now done).


Ah, I forgot to re-run get_maintainer after adding that code. Sorry.


Acked-by: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>

Daniel,
   This patch is still waiting for your ack. Are you happy with it?
   Paul


Sorry about the delay on getting this acked; I was on leave and then didn't
see it until now.

--
Daniel De Graaf
National Security Agency

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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.