[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] xenbus_client: extend interface to suppurt multi-page ring
On Tue, Aug 27, 2013 at 10:12:07AM -0400, Konrad Rzeszutek Wilk wrote: > On Tue, Aug 27, 2013 at 09:25:42AM +0100, Wei Liu wrote: > > On Tue, Aug 27, 2013 at 09:23:24AM +0100, Ian Campbell wrote: > > > On Fri, 2013-08-23 at 23:27 +0100, Wei Liu wrote: > > > > Originally Xen PV drivers only use single-page ring to pass along > > > > information. This might limit the throughput between frontend and > > > > backend. > > > > > > > > The patch extends Xenbus driver to support multi-page ring, which in > > > > general should improve throughput if ring is the bottleneck. Changes to > > > > various frontend / backend to adapt to the new interface are also > > > > included. > > > > > > The changes to the front/backends here simply adapt to the new interface > > > but don't actually make use of it, right? > > > > > > > No, they don't. > > I think the scsi front or usb front (in a different branch) did use it. > That is why I remember seeing something similar to this. > Oh, those are not upstreamed. > Either way, I am comfortable putting this in - will make it easier for > folks to experiement with enlarging the ring. > > Right. I will post another version when I collect enough comments... Wei. > > > > @@ -196,15 +200,18 @@ int xenbus_watch_pathfmt(struct xenbus_device > > > > *dev, struct xenbus_watch *watch, > > > > const char *pathfmt, ...); > > > > > > > > int xenbus_switch_state(struct xenbus_device *dev, enum xenbus_state > > > > new_state); > > > > -int xenbus_grant_ring(struct xenbus_device *dev, unsigned long > > > > ring_mfn); > > > > -int xenbus_map_ring_valloc(struct xenbus_device *dev, > > > > - int gnt_ref, void **vaddr); > > > > -int xenbus_map_ring(struct xenbus_device *dev, int gnt_ref, > > > > - grant_handle_t *handle, void *vaddr); > > > > +int xenbus_grant_ring(struct xenbus_device *dev, void *vaddr, > > > > + unsigned int nr_pages, grant_ref_t *grefs); > > > > +int xenbus_map_ring_valloc(struct xenbus_device *dev, grant_ref_t > > > > *gnt_refs, > > > > + unsigned int nr_grefs, void **vaddr); > > > > > > In the definition nr_grefs is called grefs_order. From the usage I think > > > the definition and not this prototype is correct. > > > > > > > Good catch, thanks. > > > > Wei. > > > > > Ian. > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@xxxxxxxxxxxxx > > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |