bcache: optimize barrier usage for atomic operations
authorColy Li <colyli@suse.de>
Sun, 22 Mar 2020 06:03:05 +0000 (14:03 +0800)
committerJens Axboe <axboe@kernel.dk>
Sun, 22 Mar 2020 16:06:57 +0000 (10:06 -0600)
commiteb9b6666d6ca6f3d9f218fa23ec6135eee1ac3a7
tree638296204ff802aa6d66222c4e528ea1b7208479
parentb004aa867c48b3232835b61ed9d44b572e29498e
bcache: optimize barrier usage for atomic operations

The idea of this patch is from Davidlohr Bueso, he posts a patch
for bcache to optimize barrier usage for read-modify-write atomic
bitops. Indeed such optimization can also apply on other locations
where smp_mb() is used before or after an atomic operation.

This patch replaces smp_mb() with smp_mb__before_atomic() or
smp_mb__after_atomic() in btree.c and writeback.c,  where it is used
to synchronize memory cache just earlier on other cores. Although
the locations are not on hot code path, it is always not bad to mkae
things a little better.

Signed-off-by: Coly Li <colyli@suse.de>
Cc: Davidlohr Bueso <dave@stgolabs.net>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/md/bcache/btree.c
drivers/md/bcache/writeback.c