summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2026-10-16 09:15:13 -0600
committerJens Axboe <axboe@kernel.dk>2026-10-19 10:01:53 -0600
commit67bb1ad9a517bedf1e1599fe5448620b9f38bf2a (patch)
tree5a2930f407ab190a440c0406b7e1a0e09c5dd91e /tools/lib/python
parent89f193dc3ef462059387e9691bf6af4b1808379a (diff)
io_uring/poll: don't loop on HUP with multiple references
io_poll_check_events() drops down to one reference when a multishot request sees HUP with more than one, so that the loop goes around once more. It did so by subtracting one less than it had. With the cmpxchg that only takes the local count down: the exchange fails, the next pass reads the unchanged count, and goes through the same motions again. The loop then only ends once io_poll_issue() stops the request. Drop the extra references from the counter instead, and loop once more without trying the exchange. The next pass sees one reference, like it did before, and ends unless a wake up came in. Fixes: 937d38dcacd6 ("io_uring/poll: avoid retry wakeup loss when dropping ownership") Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions