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

Re: [Xen-devel] [PATCH] xen: blkif.h: document linux xen-block multi-page ring implementation



On Tue, May 12, 2015 at 06:58:49PM +0800, Bob Liu wrote:
> After commit 1b1586eeeb8c ("xenbus_client: Extend interface to
> support multi-page ring"), Linux xenbus driver can support multi-page ring.
> 
> Based on this interface, we got some impressive improvements by using 
> multi-page
> ring in xen-block driver. If using 64 pages as the ring, the IOPS increased
> about 15 times for the throughput testing.
> 
> The Linux implementation reuses two 'DEPRECATED' nodes('max-ring-pages' and
> 'num-ring-pages), so that nothing would be broken.
> Also removed the power of 2 limit and updated the default/max value 
> accordingly.

Doing an git annotate shows:

commit 829f2a9c6dfae13faee4e24b953441113338e0f2
Author: Justin T. Gibbs <justing@xxxxxxxxxxxxxxxx>
Date:   Thu Feb 23 10:02:30 2012 +0000

    blkif.h: Document the Red Hat and Citrix blkif multi-page ring extensions
    
    No functional changes.


Which says:

 * (1) Multi-page ring buffer scheme first developed in the Citrix XenServer
+ *     PV drivers.
+ * (2) Multi-page ring buffer scheme first used in some RedHat distributions
+ *     including a distribution deployed on certain nodes of the Amazon
+ *     EC2 cluster.
+ * (3) Support for multi-page ring buffers was implemented independently,
+ *     in slightly different forms, by both Citrix and RedHat/Amazon.


And I double checked the linux-2.6.18.hg tree and I see no mention of 
multi-page. I wonder where such code exists?

CC-ing Matt, perhaps he can help.

Cc-ing Paul, perhaps he can help with the Citrix part.

Thank you!

P.S.
Also added Keir on the 'To' as scripts/get_maintainers.pl says he should be on 
it.

> 
> Signed-off-by: Bob Liu <bob.liu@xxxxxxxxxx>
> ---
>  xen/include/public/io/blkif.h |   12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/xen/include/public/io/blkif.h b/xen/include/public/io/blkif.h
> index 6baf7fb..0e34ae6 100644
> --- a/xen/include/public/io/blkif.h
> +++ b/xen/include/public/io/blkif.h
> @@ -189,11 +189,11 @@
>   *
>   * max-ring-pages
>   *      Values:         <uint32_t>
> - *      Default Value:  1
> - *      Notes:          DEPRECATED, 2, 3
> + *      Default Value:  32
> + *      Notes:          2, 3
>   *
>   *      The maximum supported size of the request ring buffer in units of
> - *      machine pages.  The value must be a power of 2.
> + *      machine pages.
>   *
>   *------------------------- Backend Device Properties 
> -------------------------
>   *
> @@ -302,11 +302,11 @@
>   * num-ring-pages
>   *      Values:         <uint32_t>
>   *      Default Value:  1
> - *      Maximum Value:  MAX(max-ring-pages,(0x1 << max-ring-page-order))
> - *      Notes:          DEPRECATED, 2, 3
> + *      Maximum Value:  max-ring-pages
> + *      Notes:          2, 3
>   *
>   *      The size of the frontend allocated request ring buffer in units of
> - *      machine pages.  The value must be a power of 2.
> + *      machine pages.
>   *
>   * feature-persistent
>   *      Values:         0/1 (boolean)
> -- 
> 1.7.10.4
> 

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