|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5, v6.14-rc4, v6.14-rc3, v6.14-rc2, v6.14-rc1, v6.13, v6.13-rc7 |
|
| #
c9a40292 |
| 08-Jan-2025 |
Jens Axboe <[email protected]> |
io_uring/eventfd: ensure io_eventfd_signal() defers another RCU period
io_eventfd_do_signal() is invoked from an RCU callback, but when dropping the reference to the io_ev_fd, it calls io_eventfd_fr
io_uring/eventfd: ensure io_eventfd_signal() defers another RCU period
io_eventfd_do_signal() is invoked from an RCU callback, but when dropping the reference to the io_ev_fd, it calls io_eventfd_free() directly if the refcount drops to zero. This isn't correct, as any potential freeing of the io_ev_fd should be deferred another RCU grace period.
Just call io_eventfd_put() rather than open-code the dec-and-test and free, which will correctly defer it another RCU grace period.
Fixes: 21a091b970cd ("io_uring: signal registered eventfd to process deferred task work") Reported-by: Jann Horn <[email protected]> Cc: [email protected] Tested-by: Li Zetao <[email protected]> Reviewed-by: Li Zetao<[email protected]> Reviewed-by: Prasanna Kumar T S M <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
show more ...
|
|
Revision tags: v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1 |
|
| #
f4bb2f65 |
| 21-Sep-2024 |
Jens Axboe <[email protected]> |
io_uring/eventfd: move ctx->evfd_last_cq_tail into io_ev_fd
Everything else about the io_uring eventfd support is nicely kept private to that code, except the cached_cq_tail tracking. With everythin
io_uring/eventfd: move ctx->evfd_last_cq_tail into io_ev_fd
Everything else about the io_uring eventfd support is nicely kept private to that code, except the cached_cq_tail tracking. With everything else in place, move io_eventfd_flush_signal() to using the ev_fd grab+release helpers, which then enables the direct use of io_ev_fd for this tracking too.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
show more ...
|
| #
83a4f865 |
| 21-Sep-2024 |
Jens Axboe <[email protected]> |
io_uring/eventfd: abstract out ev_fd grab + release helpers
In preparation for needing the ev_fd grabbing (and releasing) from another path, abstract out two helpers for that.
Link: https://lore.ke
io_uring/eventfd: abstract out ev_fd grab + release helpers
In preparation for needing the ev_fd grabbing (and releasing) from another path, abstract out two helpers for that.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
show more ...
|
| #
3ca5a356 |
| 21-Sep-2024 |
Jens Axboe <[email protected]> |
io_uring/eventfd: move trigger check into a helper
It's a bit hard to read what guards the triggering, move it into a helper and add a comment explaining it too. This additionally moves the ev_fd ==
io_uring/eventfd: move trigger check into a helper
It's a bit hard to read what guards the triggering, move it into a helper and add a comment explaining it too. This additionally moves the ev_fd == NULL check in there as well.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
show more ...
|
| #
60c5f158 |
| 21-Sep-2024 |
Jens Axboe <[email protected]> |
io_uring/eventfd: move actual signaling part into separate helper
In preparation for using this from multiple spots, move the signaling into a helper.
Link: https://lore.kernel.org/r/20240921080307
io_uring/eventfd: move actual signaling part into separate helper
In preparation for using this from multiple spots, move the signaling into a helper.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
show more ...
|
| #
3c90b80d |
| 21-Sep-2024 |
Jens Axboe <[email protected]> |
io_uring/eventfd: check for the need to async notifier earlier
It's not necessary to do this post grabbing a reference. With that, we can drop the out goto path as well.
Link: https://lore.kernel.o
io_uring/eventfd: check for the need to async notifier earlier
It's not necessary to do this post grabbing a reference. With that, we can drop the out goto path as well.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
show more ...
|
| #
165126dc |
| 21-Sep-2024 |
Jens Axboe <[email protected]> |
io_uring/eventfd: abstract out ev_fd put helper
We call this in two spot, have a helper for it. In preparation for extending this part.
Link: https://lore.kernel.org/r/20240921080307.185186-2-axboe
io_uring/eventfd: abstract out ev_fd put helper
We call this in two spot, have a helper for it. In preparation for extending this part.
Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
show more ...
|
|
Revision tags: v6.11 |
|
| #
0e0bcf07 |
| 08-Sep-2024 |
Jens Axboe <[email protected]> |
io_uring/eventfd: move refs to refcount_t
atomic_t for the struct io_ev_fd references and there are no issues with it. While the ref getting and putting for the eventfd code is somewhat performance
io_uring/eventfd: move refs to refcount_t
atomic_t for the struct io_ev_fd references and there are no issues with it. While the ref getting and putting for the eventfd code is somewhat performance critical for cases where eventfd signaling is used (news flash, you should not...), it probably doesn't warrant using an atomic_t for this. Let's just move to it to refcount_t to get the added protection of over/underflows.
Link: https://lore.kernel.org/lkml/[email protected]/ Reported-by: kernel test robot <[email protected]> Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/ Signed-off-by: Jens Axboe <[email protected]>
show more ...
|
|
Revision tags: v6.11-rc7 |
|
| #
6cf52b42 |
| 02-Sep-2024 |
Anuj Gupta <[email protected]> |
io_uring: add new line after variable declaration
Fixes checkpatch warning
Signed-off-by: Anuj Gupta <[email protected]> Link: https://lore.kernel.org/r/20240902062134.136387-2-anuj20.g@samsung.
io_uring: add new line after variable declaration
Fixes checkpatch warning
Signed-off-by: Anuj Gupta <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
show more ...
|
|
Revision tags: v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3 |
|
| #
200f3abd |
| 03-Jun-2024 |
Jens Axboe <[email protected]> |
io_uring/eventfd: move eventfd handling to separate file
This is pretty nicely abstracted already, but let's move it to a separate file rather than have it in the main io_uring file. With that, we c
io_uring/eventfd: move eventfd handling to separate file
This is pretty nicely abstracted already, but let's move it to a separate file rather than have it in the main io_uring file. With that, we can also move the io_ev_fd struct and enum out of global scope.
Signed-off-by: Jens Axboe <[email protected]>
show more ...
|