summaryrefslogtreecommitdiff
path: root/drivers/dax
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2024-02-21 23:15:39 -0500
committerKent Overstreet <kent.overstreet@linux.dev>2024-05-08 15:09:37 -0400
commitb7a963a18accfeee7da159cb49fd0303f798c5a7 (patch)
tree159e3efb4000d5d257a30355fd943e912d15bf4b /drivers/dax
parentde0f32d02f83e61be850b8626ee8da87eb6e711f (diff)
codetag: rcu-ify idx to codetag lookupmemalloc-prof-v7
This substantially reworks how we store and iterate over codetags in multiple modules. We now provide a stable index for each codetag, which doesn't change as modules are loaded and unloaded - meaning on module load, we find a free range of indices for the new module. Index-to-codetag lookup uses an eytzinger tree, and we use RCU for the eytzinger tree for lockless lookup. The eytzinger tree has one entry per module, where entries store the starting index for each module's range. After eytzinger lookup we use eytzinger_to_inorder(), as the codetag_modules are still a flat array. With the new stable indices, iteration becomes simpler; the iterator just stores the current index and peek() finds the first codetag >= the current index. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'drivers/dax')
0 files changed, 0 insertions, 0 deletions