diff options
author | Caleb Sander Mateos <csander@purestorage.com> | 2025-06-20 09:10:06 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-06-30 20:13:42 -0600 |
commit | 1ceeedb5974937a6d881fd0d92f143ca16f55577 (patch) | |
tree | 1ef427642c64de78e0eb628a8c911702e55f348b /scripts/lib/kdoc/kdoc_files.py | |
parent | 8a8fe42d765bb22cc0e91b053bfebf0fbdec3b5a (diff) |
ublk: optimize UBLK_IO_UNREGISTER_IO_BUF on daemon task
ublk_io_release() performs an expensive atomic refcount decrement. This
atomic operation is unnecessary in the common case where the request's
buffer is registered and unregistered on the daemon task before handling
UBLK_IO_COMMIT_AND_FETCH_REQ for the I/O. So if ublk_io_release() is
called on the daemon task and task_registered_buffers is positive, just
decrement task_registered_buffers (nonatomically). ublk_sub_req_ref()
will apply this decrement when it atomically subtracts from io->ref.
Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Reviewed-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250620151008.3976463-13-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'scripts/lib/kdoc/kdoc_files.py')
0 files changed, 0 insertions, 0 deletions