aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/tools/perf/scripts/python/export-to-postgresql.py
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2022-03-16 16:55:05 -0600
committerJens Axboe <axboe@kernel.dk>2022-03-16 16:55:05 -0600
commit81459350d581e958ee9c6e76031f77333881c23c (patch)
tree431fc1a80f9c1230735df6ecd8e8371300c05e52 /tools/perf/scripts/python/export-to-postgresql.py
parentio_uring: move req->poll_refs into previous struct hole (diff)
downloadwireguard-linux-81459350d581e958ee9c6e76031f77333881c23c.tar.xz
wireguard-linux-81459350d581e958ee9c6e76031f77333881c23c.zip
io_uring: cache req->apoll->events in req->cflags
When we arm poll on behalf of a different type of request, like a network receive, then we allocate req->apoll as our poll entry. Running network workloads shows io_poll_check_events() as the most expensive part of io_uring, and it's all due to having to pull in req->apoll instead of just the request which we have hot already. Cache poll->events in req->cflags, which isn't used until the request completes anyway. This isn't strictly needed for regular poll, where req->poll.events is used and thus already hot, but for the sake of unification we do it all around. This saves 3-4% of overhead in certain request workloads. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions