[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



> -----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.

  Paul

> Jan


_______________________________________________
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®.