Mailing List Archive

Add multi-page shared ring support to xen-blkfront/back
These patches add support for multi-page shared rings to xen-blkfront/back.
Shared rings must always be a power of 2 in size and so the size is controlled
by the new 'max_ring_page_order' module parameter of xen-blkback. This defaults
to 0 so operationally there should be no difference with these patches in place.
The maximum value of 'max_ring_page_order' is currently limited to 2
(i.e. 4 pages).
xen-blkfront will always use the largest shared ring size supported by the back
end. To override this and continue to use a single page ring, as before, set the
'allow_multi_page_ring' module parameter to 0.


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
Re: Add multi-page shared ring support to xen-blkfront/back [ In reply to ]
Paul Durrant wrote:
> These patches add support for multi-page shared rings to xen-blkfront/back.
> Shared rings must always be a power of 2 in size and so the size is controlled
> by the new 'max_ring_page_order' module parameter of xen-blkback. This defaults
> to 0 so operationally there should be no difference with these patches in place.
> The maximum value of 'max_ring_page_order' is currently limited to 2
> (i.e. 4 pages).
> xen-blkfront will always use the largest shared ring size supported by the back
> end. To override this and continue to use a single page ring, as before, set the
> 'allow_multi_page_ring' module parameter to 0.
>

I don't know why git-send-email seems to have sent my patch series into
a black hole. Here they are as attachments this time.

Paul

--
===============================
Paul Durrant, Software Engineer

Citrix Systems (R&D) Ltd.
First Floor, Building 101
Cambridge Science Park
Milton Road
Cambridge CB4 0FY
United Kingdom
===============================
RE: Add multi-page shared ring support toxen-blkfront/back [ In reply to ]
>
> Paul Durrant wrote:
> > These patches add support for multi-page shared rings to
xen-blkfront/back.
> > Shared rings must always be a power of 2 in size and so the size is
> controlled
> > by the new 'max_ring_page_order' module parameter of xen-blkback.
This
> defaults
> > to 0 so operationally there should be no difference with these
patches in
> place.
> > The maximum value of 'max_ring_page_order' is currently limited to 2
> > (i.e. 4 pages).
> > xen-blkfront will always use the largest shared ring size supported
by the
> back
> > end. To override this and continue to use a single page ring, as
before, set
> the
> > 'allow_multi_page_ring' module parameter to 0.
> >
>
> I don't know why git-send-email seems to have sent my patch series
into
> a black hole. Here they are as attachments this time.
>

I received the 1/2 and 2/2 emails containing the patches.

Is there any measurable performance increase with this update? I assume
it means that you can have more read/write operations on the ring at
once? What would be useful to me is larger read/write operations...

James

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
RE: Add multi-page shared ring support toxen-blkfront/back [ In reply to ]
On Tue, 2010-01-12 at 15:58 -0500, James Harper wrote:

> I received the 1/2 and 2/2 emails containing the patches.
>
> Is there any measurable performance increase with this update? I assume
> it means that you can have more read/write operations on the ring at
> once? What would be useful to me is larger read/write operations...

Interesting. Why? Asking because ring space is spent on segments, not
request headers. Do you see a notable difference somewhere, compared to
a bunch of (virtually) consecutive request ranges? Or rather a
convenience thing for the gpl PV drivers?

Cheers,
Daniel


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
RE: Add multi-page shared ring support to xen-blkfront/back [ In reply to ]
Haven't read the patch carefully, but a question:

Will blkback fall back safely to single-page allocation
if fragmentation has occurred... and, if so, will this inability
to allocate multi-page be dynamically propogated to blkfronts
(rather than just the largest ring size "supported" by
blkback)?

> -----Original Message-----
> From: Paul Durrant [mailto:paul.durrant@citrix.com]
> Sent: Tuesday, January 12, 2010 10:52 AM
> To: xen-devel@lists.xensource.com
> Subject: Re: [Xen-devel] Add multi-page shared ring support to
> xen-blkfront/back
>
>
> Paul Durrant wrote:
> > These patches add support for multi-page shared rings to
> xen-blkfront/back.
> > Shared rings must always be a power of 2 in size and so the
> size is controlled
> > by the new 'max_ring_page_order' module parameter of
> xen-blkback. This defaults
> > to 0 so operationally there should be no difference with
> these patches in place.
> > The maximum value of 'max_ring_page_order' is currently limited to 2
> > (i.e. 4 pages).
> > xen-blkfront will always use the largest shared ring size
> supported by the back
> > end. To override this and continue to use a single page
> ring, as before, set the
> > 'allow_multi_page_ring' module parameter to 0.
> >
>
> I don't know why git-send-email seems to have sent my patch
> series into
> a black hole. Here they are as attachments this time.
>
> Paul
>
> --
> ===============================
> Paul Durrant, Software Engineer
>
> Citrix Systems (R&D) Ltd.
> First Floor, Building 101
> Cambridge Science Park
> Milton Road
> Cambridge CB4 0FY
> United Kingdom
> ===============================
>

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
RE: Add multi-page shared ring support toxen-blkfront/back [ In reply to ]
>
> On Tue, 2010-01-12 at 15:58 -0500, James Harper wrote:
>
> > I received the 1/2 and 2/2 emails containing the patches.
> >
> > Is there any measurable performance increase with this update? I assume
> > it means that you can have more read/write operations on the ring at
> > once? What would be useful to me is larger read/write operations...
>
> Interesting. Why? Asking because ring space is spent on segments, not
> request headers. Do you see a notable difference somewhere, compared to
> a bunch of (virtually) consecutive request ranges? Or rather a
> convenience thing for the gpl PV drivers?
>

Windows has a limit to the number of outstanding requests that it will issue. It is as low as 16 under some versions of their scsiport infrastructure. I think storport relaxes those limits a bit but I haven't gotten as far as a storport driver yet.

So larger requests would probably benefit windows more than more requests would.

It would be nice if the ring slots could be dynamic in size. Major rewrite of everything of course, but we'd get the best of both worlds.

James
Re: Add multi-page shared ring support to xen-blkfront/back [ In reply to ]
On Tue, Jan 12, 2010 at 05:51:42PM +0000, Paul Durrant wrote:
> Paul Durrant wrote:
> >These patches add support for multi-page shared rings to xen-blkfront/back.
> >Shared rings must always be a power of 2 in size and so the size is controlled
> >by the new 'max_ring_page_order' module parameter of xen-blkback. This defaults
> >to 0 so operationally there should be no difference with these patches in place.
> >The maximum value of 'max_ring_page_order' is currently limited to 2
> >(i.e. 4 pages).
> >xen-blkfront will always use the largest shared ring size supported by the back
> >end. To override this and continue to use a single page ring, as before, set the
> >'allow_multi_page_ring' module parameter to 0.

Hey Paul,

Would it be possible to rebase this on 3.0? How is it different from the
one posted some time ago by .. um, somebody else?

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel