diff options
Diffstat (limited to 'libbcachefs/alloc_types.h')
-rw-r--r-- | libbcachefs/alloc_types.h | 36 |
1 files changed, 20 insertions, 16 deletions
diff --git a/libbcachefs/alloc_types.h b/libbcachefs/alloc_types.h index 271b4bf2..33026734 100644 --- a/libbcachefs/alloc_types.h +++ b/libbcachefs/alloc_types.h @@ -76,22 +76,26 @@ struct dev_stripe_state { }; struct write_point { - struct hlist_node node; - struct mutex lock; - u64 last_used; - unsigned long write_point; - enum bch_data_type data_type; - - /* calculated based on how many pointers we're actually going to use: */ - unsigned sectors_free; - - struct open_buckets ptrs; - struct dev_stripe_state stripe; - - struct work_struct index_update_work; - - struct list_head writes; - spinlock_t writes_lock; + struct { + struct hlist_node node; + struct mutex lock; + u64 last_used; + unsigned long write_point; + enum bch_data_type data_type; + + /* calculated based on how many pointers we're actually going to use: */ + unsigned sectors_free; + + struct open_buckets ptrs; + struct dev_stripe_state stripe; + } __attribute__((__aligned__(SMP_CACHE_BYTES))); + + struct { + struct work_struct index_update_work; + + struct list_head writes; + spinlock_t writes_lock; + } __attribute__((__aligned__(SMP_CACHE_BYTES))); }; struct write_point_specifier { |