[PATCHv2] nvme-tcp: Implement recvmsg() receive flow
Sagi Grimberg
sagi at grimberg.me
Mon Dec 1 09:49:38 PST 2025
>> There is TX work that may be pending as well, IIRC there is an
>> assumption that io_work will NOT return if there is any TX work
> > pending (we've seen stalls in the past due to issues like that).>
> Hmm.
> But I've seen the opposite; the current io_work prioritizes TX
> over RX, so a 'data_ready' callback will trigger TX first, letting
> the RX data to stew for a bit before the TX data has been sent.
I wouldn't consider that prioritizing TX. the fact that it goes first is
because
you want to send request to the ctrl to go off and work while you
receive data.
> Maybe we should be looking into splitting TX and RX paths after all...
If both TX/RX remain kthreads I don't see how it will help performance.
But if someone provides data that shows otherwise, we can do that.
More information about the Linux-nvme
mailing list