Re: [PATCH v1] io_uring: Add support for napi_busy_poll

From: Hao Xu
Date: Mon Feb 21 2022 - 00:25:38 EST


在 2022/2/21 上午2:37, Olivier Langlois 写道:
On Sat, 2022-02-19 at 17:22 -0700, Jens Axboe wrote:

Outside of this, I was hoping to see some performance numbers in the
main patch. Sounds like you have them, can you share?

Yes.

It is not much. Only numbers from my application and it is far from
being the best benchmark because the result can be influenced by
multiple external factors.

Beside addressing the race condition remaining inside io_cqring_wait()
around napi_list for v2 patch, creating a benchmark program that
isolate the performance of the new feature is on my todo list.

I would think that creating a simple UDP ping-pong setup and measure

An echo-server may be a good choice.
RTT with and without busy_polling should be a good enough test.

In the meantime, here are the results that I have:

Without io_uring busy poll:
reaction time to an update: 17159usec
reaction time to an update: 19068usec
reaction time to an update: 23055usec
reaction time to an update: 16511usec
reaction time to an update: 17604usec

With io_uring busy poll:
reaction time to an update: 15782usec
reaction time to an update: 15337usec
reaction time to an update: 15379usec
reaction time to an update: 15275usec
reaction time to an update: 15107usec

Concerning my latency issue with busy polling, I have found this that
might help me:
https://lwn.net/ml/netdev/20201002222514.1159492-1-weiwan@xxxxxxxxxx/