summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCaleb Sander Mateos <csander@purestorage.com>2025-06-20 09:10:08 -0600
committerJens Axboe <axboe@kernel.dk>2025-06-30 20:13:42 -0600
commit857f431824aacb22bd051c0f4c44c708659028b1 (patch)
tree53c986de829580b72c67cde2060c9bed28490c43
parentc9d066ebfd2fbd89173716f60578ed6e416712e4 (diff)
ublk: cache-align struct ublk_io
struct ublk_io is already 56 bytes on 64-bit architectures, so round it up to a full cache line (typically 64 bytes). This ensures a single ublk_io doesn't span multiple cache lines and prevents false sharing if consecutive ublk_io's are accessed by different daemon tasks. 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-15-csander@purestorage.com Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--drivers/block/ublk_drv.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/block/ublk_drv.c b/drivers/block/ublk_drv.c
index eec3abb78ce5..e52c2d1cb838 100644
--- a/drivers/block/ublk_drv.c
+++ b/drivers/block/ublk_drv.c
@@ -188,7 +188,7 @@ struct ublk_io {
/* auto-registered buffer, valid if UBLK_IO_FLAG_AUTO_BUF_REG is set */
u16 buf_index;
void *buf_ctx_handle;
-};
+} ____cacheline_aligned_in_smp;
struct ublk_queue {
int q_id;