lkml.org 
[lkml]   [2010]   [May]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCHv2-RFC 0/2] virtio: put last seen used index into ring itself
    On Mon, May 31, 2010 at 05:16:42PM +0930, Rusty Russell wrote:
    > On Thu, 27 May 2010 05:20:35 am Michael S. Tsirkin wrote:
    > > Here's a rewrite of the original patch with a new layout.
    > > I haven't tested it yet so no idea how this performs, but
    > > I think this addresses the cache bounce issue raised by Avi.
    > > Posting for early flames/comments.
    >
    > Sorry, not without some evidence that it'll actually reduce cacheline
    > bouncing. I *think* it will, but it's not obvious: the host may keep
    > looking at avail_idx as we're updating last_seen. Or does qemu always
    > look at both together anyway?
    > Can someone convince me this is a win?
    > Rusty.

    What really happens is host looks at flags and last_seen together.
    And flags happens to be in the same cache line with avail idx.
    So to get an obvious win, we should put flags and last_seen
    in a separate cache line from avail, which us easy - just add some padding.

    And I'll relax the requirement from guest to only require it to update
    last_seen when interrupts are enabled. This way flags and
    last_seen are written together and read together.

    Makes sense?
    --
    MST


    \
     
     \ /
      Last update: 2010-05-31 14:29    [W:3.324 / U:0.164 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site