Commit 530f683d authored by Mike Snitzer's avatar Mike Snitzer

dm bufio: move dm_bufio_client members to avoid spanning cachelines

Movement also consolidates holes in dm_bufio_client struct. But the
overall size of the struct isn't changed.
Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
parent 79118806
...@@ -936,13 +936,16 @@ static void cache_remove_range(struct dm_buffer_cache *bc, ...@@ -936,13 +936,16 @@ static void cache_remove_range(struct dm_buffer_cache *bc,
* context. * context.
*/ */
struct dm_bufio_client { struct dm_bufio_client {
struct mutex lock;
spinlock_t spinlock;
bool no_sleep;
struct block_device *bdev; struct block_device *bdev;
unsigned int block_size; unsigned int block_size;
s8 sectors_per_block_bits; s8 sectors_per_block_bits;
bool no_sleep;
struct mutex lock;
spinlock_t spinlock;
int async_write_error;
void (*alloc_callback)(struct dm_buffer *buf); void (*alloc_callback)(struct dm_buffer *buf);
void (*write_callback)(struct dm_buffer *buf); void (*write_callback)(struct dm_buffer *buf);
struct kmem_cache *slab_buffer; struct kmem_cache *slab_buffer;
...@@ -954,23 +957,22 @@ struct dm_bufio_client { ...@@ -954,23 +957,22 @@ struct dm_bufio_client {
unsigned int minimum_buffers; unsigned int minimum_buffers;
struct dm_buffer_cache cache;
wait_queue_head_t free_buffer_wait;
sector_t start; sector_t start;
int async_write_error;
struct list_head client_list;
struct shrinker shrinker; struct shrinker shrinker;
struct work_struct shrink_work; struct work_struct shrink_work;
atomic_long_t need_shrink; atomic_long_t need_shrink;
wait_queue_head_t free_buffer_wait;
struct list_head client_list;
/* /*
* Used by global_cleanup to sort the clients list. * Used by global_cleanup to sort the clients list.
*/ */
unsigned long oldest_buffer; unsigned long oldest_buffer;
struct dm_buffer_cache cache;
}; };
static DEFINE_STATIC_KEY_FALSE(no_sleep_enabled); static DEFINE_STATIC_KEY_FALSE(no_sleep_enabled);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment