Jens Axboe 78076bb64a io_uring: use hash table for poll command lookups
We recently changed this from a single list to an rbtree, but for some
real life workloads, the rbtree slows down the submission/insertion
case enough so that it's the top cycle consumer on the io_uring side.
In testing, using a hash table is a more well rounded compromise. It
is fast for insertion, and as long as it's sized appropriately, it
works well for the cancellation case as well. Running TAO with a lot
of network sockets, this removes io_poll_req_insert() from spending
2% of the CPU cycles.

Reported-by: Dan Melnic <dmm@fb.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2019-12-04 20:12:58 -07:00
..
2019-09-27 15:10:34 -07:00
2019-11-30 10:57:22 -08:00
2019-09-19 09:42:37 -07:00
2019-07-12 17:37:53 -07:00
\n
2019-11-30 11:16:07 -08:00
2019-09-19 09:42:37 -07:00
2019-09-19 09:42:37 -07:00
2019-07-03 17:52:09 -04:00
2019-09-27 17:00:27 -07:00
2019-09-19 10:21:35 -07:00
2019-08-30 08:11:25 -07:00
2019-09-19 09:42:37 -07:00
2019-11-30 10:44:49 -08:00
2019-12-01 14:00:59 -08:00
2019-11-30 10:44:49 -08:00
2019-11-30 14:12:13 -08:00
2019-08-07 21:51:47 -04:00
2019-10-14 15:04:01 -07:00
2019-09-27 17:00:27 -07:00
2019-10-03 13:59:29 -04:00
2019-11-30 14:12:13 -08:00