[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [virtio-dev] packed ring layout proposal v2
On 09/02/2017 19:24, Michael S. Tsirkin wrote: >> I don't know. Power of 2 ring size is pretty standard, I'd rather avoid >> the complication and the gratuitous difference with 1.0. > > I thought originally there's a reason 1.0 rings had to be powers of two > but now I don't see why. OK, we can make it a feature flag later if we > want to. The reason is that it allows indices to be free running. This is an example of QEMU code that requires that: nheads = vring_avail_idx(&vdev->vq[i]) - vdev->vq[i].last_avail_idx; /* Check it isn't doing strange things with descriptor numbers. */ if (nheads > vdev->vq[i].vring.num) { error_report("VQ %d size 0x%x Guest index 0x%x " "inconsistent with Host index 0x%x: delta 0x%x", i, vdev->vq[i].vring.num, vring_avail_idx(&vdev->vq[i]), vdev->vq[i].last_avail_idx, nheads); return -1; } Paolo
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]