Files
scoutfs/kmod/src
Zach Brown c470c1c9f6 Allow read-mostly _alloc_meta_low
Each transaction hold makes multiple calls to _alloc_meta_low to see if
the transaction should be committed to refill allocators before the
caller's hold is acquired and they can dirty blocks in the transaction.

_alloc_meta_low was using a spinlock to sample the allocator list_head
blocks to determine if there was space available.  The lock and unlock
stores were creating significant cacheline contention.

The _alloc_meta_low calls are higher frequency than allocations.  We can
use a seqlock to have exclusive writers and allow concurrent
_alloc_meta_low readers who retry if a writer intervenes.

Signed-off-by: Zach Brown <zab@versity.com>
2021-03-04 11:39:30 -08:00
..
2021-03-04 11:39:30 -08:00
2021-03-04 11:39:30 -08:00
2020-08-26 14:39:12 -07:00
2020-11-30 13:35:44 -08:00
2020-11-30 13:35:44 -08:00
2020-10-26 15:19:03 -07:00
2018-04-04 09:15:27 -05:00
2017-12-20 12:21:13 -08:00
2021-01-14 13:42:22 -08:00
2018-04-04 09:15:27 -05:00
2018-04-04 09:15:27 -05:00
2018-01-26 11:59:47 -08:00
2020-10-26 15:19:03 -07:00
2020-10-26 15:19:03 -07:00
2020-01-17 11:21:36 -08:00
2017-08-30 10:38:00 -07:00
2020-10-29 14:15:33 -07:00
2021-01-20 17:01:08 -08:00
2021-01-20 17:01:08 -08:00
2021-01-20 17:01:08 -08:00
2021-01-14 13:42:22 -08:00
2021-01-26 14:46:07 -08:00
2016-02-05 14:12:14 -08:00
2020-11-30 13:35:44 -08:00
2021-01-26 14:46:07 -08:00
2020-11-30 13:35:44 -08:00
2019-08-20 15:52:13 -07:00
2020-11-30 13:35:44 -08:00
2020-11-30 13:35:44 -08:00
2019-05-21 11:33:26 -07:00
2019-05-21 11:33:26 -07:00
2021-02-22 13:28:38 -08:00
2020-10-29 14:15:33 -07:00
2020-10-29 14:15:33 -07:00
2020-11-30 13:35:44 -08:00
2019-04-12 10:54:07 -07:00
2020-10-26 15:19:03 -07:00
2019-08-20 15:52:13 -07:00
2019-06-05 14:30:11 -07:00
2021-01-20 17:01:08 -08:00
2020-11-30 13:35:44 -08:00
2018-07-27 09:50:21 -07:00
2018-07-27 09:50:21 -07:00
2021-01-14 13:42:22 -08:00
2021-01-20 17:01:08 -08:00