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

RE: [PATCH V2 07/23] xen/ioreq: Move x86's ioreq_gfn(server) to struct domain



> -----Original Message-----
> From: Oleksandr <olekstysh@xxxxxxxxx>
> Sent: 18 November 2020 12:09
> To: Paul Durrant <paul@xxxxxxx>
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx; Oleksandr Tyshchenko 
> <oleksandr_tyshchenko@xxxxxxxx>; Jan Beulich
> <jbeulich@xxxxxxxx>; Andrew Cooper <andrew.cooper3@xxxxxxxxxx>; Roger Pau 
> Monné
> <roger.pau@xxxxxxxxxx>; Wei Liu <wl@xxxxxxx>; George Dunlap 
> <george.dunlap@xxxxxxxxxx>; Ian Jackson
> <iwj@xxxxxxxxxxxxxx>; Julien Grall <julien@xxxxxxx>; Stefano Stabellini 
> <sstabellini@xxxxxxxxxx>;
> Julien Grall <julien.grall@xxxxxxx>
> Subject: Re: [PATCH V2 07/23] xen/ioreq: Move x86's ioreq_gfn(server) to 
> struct domain
> 
> 
> Hi Paul.
> 
> > --- a/xen/include/xen/sched.h
> > +++ b/xen/include/xen/sched.h
> > @@ -314,6 +314,8 @@ struct sched_unit {
> >
> >   struct evtchn_port_ops;
> >
> > +#define MAX_NR_IOREQ_SERVERS 8
> > +
> >   struct domain
> >   {
> >       domid_t          domain_id;
> > @@ -521,6 +523,21 @@ struct domain
> >       /* Argo interdomain communication support */
> >       struct argo_domain *argo;
> >   #endif
> > +
> > +#ifdef CONFIG_IOREQ_SERVER
> > +    /* Guest page range used for non-default ioreq servers */
> > +    struct {
> > +        unsigned long base;
> > +        unsigned long mask;
> > +        unsigned long legacy_mask; /* indexed by HVM param number */
> > +    } ioreq_gfn;
> 
> I assume the whole ioreq_gfn struct doesn't need to be here. According
> to the new requirement to leave legacy interface x86 specific,
> 
> these fields won't be used in common code anymore. I will move ioreq_gfn
> struct back to hvm_domain. Please confirm.

Yes, leave it where it is in struct hvm_domain.

  Paul

> 
> 
> > +
> > +    /* Lock protects all other values in the sub-struct and the default */
> > +    struct {
> > +        spinlock_t              lock;
> > +        struct ioreq_server     *server[MAX_NR_IOREQ_SERVERS];
> > +    } ioreq_server;
> > +#endif
> >   };
> >
> >   static inline struct page_list_head *page_to_list(
> 
> --
> Regards,
> 
> Oleksandr Tyshchenko





 


Rackspace

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