在 2021/2/24 上午11:18, Jens Axboe 写道:
On 2/23/21 8:06 PM, Hao Xu wrote:
在 2021/2/23 下午8:40, Pavel Begunkov 写道:
Instead of using a request itself for overflowed CQE stashing, allocate
a separate entry. The disadvantage is that the allocation may fail and
it will be accounted as lost (see rings->cq_overflow), so we lose
reliability in case of memory pressure. However, it opens a way for for
multiple CQEs per an SQE and even generating SQE-less CQEs >
Signed-off-by: Pavel Begunkov <asml.silence@xxxxxxxxx>
---
Hi Pavel,
Allow me to ask a stupid question, why do we need to support multiple
CQEs per SQE or even SQE-less CQEs in the future?
Not a stupid question at all, since it's not something we've done
before. There's been discussion about this in the past, in the presence
of the zero copy IO where we ideally want to post two CQEs for an SQE.
Most recently I've been playing with multishot poll support, where a
POLL_ADD will stay active after triggering. Hence you could be posting
many CQEs for that SQE, over the life time of the request.
I see, super thanks Jens.