diff options
| author | Caleb Sander Mateos <csander@purestorage.com> | 2025-06-20 09:10:08 -0600 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2025-06-30 20:13:42 -0600 |
| commit | 857f431824aacb22bd051c0f4c44c708659028b1 (patch) | |
| tree | 53c986de829580b72c67cde2060c9bed28490c43 /drivers/block | |
| parent | c9d066ebfd2fbd89173716f60578ed6e416712e4 (diff) | |
| download | linux-857f431824aacb22bd051c0f4c44c708659028b1.tar.gz linux-857f431824aacb22bd051c0f4c44c708659028b1.tar.bz2 linux-857f431824aacb22bd051c0f4c44c708659028b1.zip | |
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>
Diffstat (limited to 'drivers/block')
| -rw-r--r-- | drivers/block/ublk_drv.c | 2 |
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; |
