This series contains the initial implementation of indirect descriptors for Linux blkback/blkfront. Patches 1, 2, 3, 4 and 5 are bug fixes and minor optimizations. Patch 6 contains a LRU implementation for blkback that will be needed when using indirect descriptors (since we are no longer able to map all possible grants blkfront might use). Patch 7 is an addition to the print stats function in blkback in order to print information regarding persistent grant usage. Patches 8, 9, 10 and 11 are preparatory work for indirect descriptors implementation, mainly make blkback use dynamic memory and remove the shared blkbk structure, so each blkback instance has it''s own list of free requests, pages, handles and so on. Finally patch 12 contains the indirect descriptors implementation. I''ve also pushed this series to the following git repository: git://xenbits.xen.org/people/royger/linux.git xen-block-indirect Performance benefit of this series can be seen in the following graph: http://xenbits.xen.org/people/royger/plot_indirect.png Thanks for the review, Roger.
>>> On 28.02.13 at 11:28, Roger Pau Monne <roger.pau@citrix.com> wrote: > This series contains the initial implementation of indirect > descriptors for Linux blkback/blkfront. > > Patches 1, 2, 3, 4 and 5 are bug fixes and minor optimizations. > > Patch 6 contains a LRU implementation for blkback that will be needed > when using indirect descriptors (since we are no longer able to map > all possible grants blkfront might use).Considering this, ...> Patch 7 is an addition to the print stats function in blkback in order > to print information regarding persistent grant usage. > > Patches 8, 9, 10 and 11 are preparatory work for indirect descriptors > implementation, mainly make blkback use dynamic memory and remove the > shared blkbk structure, so each blkback instance has it''s own list of > free requests, pages, handles and so on. > > Finally patch 12 contains the indirect descriptors implementation. > > I''ve also pushed this series to the following git repository: > > git://xenbits.xen.org/people/royger/linux.git xen-block-indirect > > Performance benefit of this series can be seen in the following graph: > > http://xenbits.xen.org/people/royger/plot_indirect.png... would you happen to also have a comparison with using indirect descriptors but not persistent grants? IOW I''m wondering about the hit rate on the persistently mapped grants, especially when blkfront really saturates the added bandwidth. Jan
Roger Pau Monné
2013-Feb-28 11:25 UTC
Re: [PATCH RFC 00/12] xen-block: indirect descriptors
On 28/02/13 11:49, Jan Beulich wrote:>>>> On 28.02.13 at 11:28, Roger Pau Monne <roger.pau@citrix.com> wrote: >> This series contains the initial implementation of indirect >> descriptors for Linux blkback/blkfront. >> >> Patches 1, 2, 3, 4 and 5 are bug fixes and minor optimizations. >> >> Patch 6 contains a LRU implementation for blkback that will be needed >> when using indirect descriptors (since we are no longer able to map >> all possible grants blkfront might use). > > Considering this, ... > >> Patch 7 is an addition to the print stats function in blkback in order >> to print information regarding persistent grant usage. >> >> Patches 8, 9, 10 and 11 are preparatory work for indirect descriptors >> implementation, mainly make blkback use dynamic memory and remove the >> shared blkbk structure, so each blkback instance has it''s own list of >> free requests, pages, handles and so on. >> >> Finally patch 12 contains the indirect descriptors implementation. >> >> I''ve also pushed this series to the following git repository: >> >> git://xenbits.xen.org/people/royger/linux.git xen-block-indirect >> >> Performance benefit of this series can be seen in the following graph: >> >> http://xenbits.xen.org/people/royger/plot_indirect.png > > ... would you happen to also have a comparison with using > indirect descriptors but not persistent grants? IOW I''m > wondering about the hit rate on the persistently mapped > grants, especially when blkfront really saturates the added > bandwidth.This is the expanded graph that also contains indirect descriptors without persistent grants: http://xenbits.xen.org/people/royger/plot_indirect_nopers.png
>>> On 28.02.13 at 12:25, Roger Pau Monné<roger.pau@citrix.com> wrote: > This is the expanded graph that also contains indirect descriptors > without persistent grants: > > http://xenbits.xen.org/people/royger/plot_indirect_nopers.pngThanks. Interesting - this suggests an unexpectedly high hit rate. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel
Roger Pau Monné
2013-Feb-28 11:44 UTC
Re: [PATCH RFC 00/12] xen-block: indirect descriptors
On 28/02/13 12:35, Jan Beulich wrote:>>>> On 28.02.13 at 12:25, Roger Pau Monné<roger.pau@citrix.com> wrote: >> This is the expanded graph that also contains indirect descriptors >> without persistent grants: >> >> http://xenbits.xen.org/people/royger/plot_indirect_nopers.png > > Thanks. Interesting - this suggests an unexpectedly high hit rate.This graph is using the default values, so we are persistently mapping 1024 grants of the possible 2080 that could be used by blkfront ((64 segments + 1 indirect gref) * 32 = 2080). blkfront stores grants using a stack, so it should try to reuse the same grants as much as possible. On the other hand, blkback cleans unused grants periodically, to try to have the most commonly used blkfront grants mapped. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel