>> > 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. _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/virtualization