Re: [PATCH 0/2] nvmet: support polling task for RDMA and TCP

From: Hannes Reinecke
Date: Tue Jul 16 2024 - 06:36:57 EST


On 7/4/24 10:10, Ping Gan wrote:
On 02/07/2024 13:02, Ping Gan wrote:
[ .. ]
And the bandwidth of a node is only 3100MB. While we used the patch
and enable 6 polling task, the bandwidth can be 4000MB. It's a good
improvement.

I think you will see similar performance with unbound workqueue and
rps.

Yes, I remodified the nvmet-tcp/nvmet-rdma code for supporting unbound
workqueue, and in same prerequisites of above to run test, and compared
the result of unbound workqueue and polling mode task. And I got a good
performance for unbound workqueue. For unbound workqueue TCP we got
3850M/node, it's almost equal to polling task. And also tested
nvmet-rdma we get 5100M/node for unbound workqueue RDMA versus 5600M for
polling task, seems the diff is very small. Anyway, your advice is good.
Do you think we should submit the unbound workqueue patches for nvmet-tcp
and nvmet-rdma to upstream nvmet?

Please do. I have been using pretty much the same patch during
development of my nvme-tcp scalability patchset, and using WQ_UNBOUND
definitely improves the situation here.

Cheers,

Hannes
--
Dr. Hannes Reinecke Kernel Storage Architect
hare@xxxxxxx +49 911 74053 688
SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg
HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich