Re: [PATCH 00/10] PV-IO v3

Avi Kivity
2007-08-20T14:12:32Z

Dor Laor wrote:
>>>> 2) We either need huge descriptors or some chaining
>>>>
>> mechanism to
>>
>>>> handle scatter-gather.
>>>>
>>>>
>>> Or, my preference, have a small sglist in the descriptor;
>>>
>> Define "small" ;)
>>
>> There a certainly patterns that cannot/will-not take advantage of SG
>> (for instance, your typical network rx path), and therefore the sg
>> entries are wasted in some cases. Since they need to be (IMHO) u64,
>> they suck down at least 8 bytes a piece. Because of this I elected to
>> use the model of one pointer per descriptor, with an external
>>
> descriptor
>
>> for SG. What are your thoughts on this?
>>
>
> Using Rusty's code there is no waste.
> Each descriptor has a flag (head|next). Next flag stands for pointer to
> the
> next descriptor with u32 next index. So the waste is 4 bytes.
> Sg descriptors are chained on the same descriptor ring.
>

Block I/O can easily require 256 sglist entries, eating up your ring.

--
error compiling committee.c: too many arguments to function