From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH] xenbus_client: extend interface to suppurt multi-page ring Date: Tue, 27 Aug 2013 10:12:07 -0400 Message-ID: <20130827141207.GE3725@phenom.dumpdata.com> References: <1377296861-21464-1-git-send-email-wei.liu2@citrix.com> <1377591804.2348.32.camel@kazak.uk.xensource.com> <20130827082542.GA7609@zion.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <20130827082542.GA7609@zion.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Wei Liu Cc: boris.ostrovsky@oracle.com, xen-devel@lists.xen.org, Ian Campbell , david.vrabel@citrix.com List-Id: xen-devel@lists.xenproject.org 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. Either way, I am comfortable putting this in - will make it easier for folks to experiement with enlarging the ring. > > > > @@ -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@lists.xen.org > http://lists.xen.org/xen-devel