On Thu, 12 Jan 2012, Andiry Xu wrote: > Sarah, > > Thanks for the information! I'll check it. Somewhat out of the blue... I haven't paid too much attention to the ring-expansion patches, but it's obvious that they were difficult and complex. What was the main problem? Was it that you could sometimes run into situations where the CPU had advanced almost all the way around the ring, so that the enqueue pointer was in the same segment as the dequeue pointer but somewhere behind it? That certainly would make it difficult to link an extra segment into the unused region. If that was the main problem, there's an easy way around it. Simply never advance the enqueue pointer into the segment currently occupied by the dequeue pointer. Of course, in practice this means every ring will end up using a minimum of two segments; the tradeoff ought to be worthwhile. But maybe you already know all this... Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html