diff options
author | Sagi Grimberg <[email protected]> | 2020-05-01 14:25:45 -0700 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2020-05-09 16:18:36 -0600 |
commit | db5ad6b7f8cdd6d78efef62a1557461d0cbaee54 (patch) | |
tree | fb67e7bd168326060bed514e2972380a5461c63d /lib/mpi/mpi-mod.c | |
parent | 72e5d757c62029664c0287d14519ec4451901b5e (diff) |
nvme-tcp: try to send request in queue_rq context
Today, nvme-tcp automatically schedules a send request
to a workqueue context, which is 1 more than we'd need
in case the socket buffer is wide open.
However, because we have async send activity (as a result
of r2t, or write_space callbacks), we need to synchronize
sends from possibly multiple contexts (ideally all running
on the same cpu though).
Thus, we only try to send directly from queue_rq in cases:
1. the send_list is empty
2. we can send it synchronously (i.e. not from the RX path)
3. we run on the same cpu as the queue->io_cpu to avoid
contention on the send operation.
Proposed-by: Mark Wunderlich <[email protected]>
Signed-off-by: Mark Wunderlich <[email protected]>
Signed-off-by: Sagi Grimberg <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'lib/mpi/mpi-mod.c')
0 files changed, 0 insertions, 0 deletions