summaryrefslogtreecommitdiff
path: root/tools/lib/python/abi/helpers.py
diff options
context:
space:
mode:
authorVlastimil Babka <vbabka@suse.cz>2025-11-07 14:51:26 +0100
committerVlastimil Babka <vbabka@suse.cz>2025-11-13 10:13:57 +0100
commitc33196c9429a1db5bc6cded27b6286f341ad6be0 (patch)
tree3a6e88c12a5e8951a8c55f245538a3b3b1c476d4 /tools/lib/python/abi/helpers.py
parent32cf9f21828a752a364b2698ec66f8532cd66c52 (diff)
slab: use struct freelist_counters as parameters in relevant functions
In functions such as [__]slab_update_freelist() and __slab_update_freelist_fast/slow() we pass old and new freelist and counters as 4 separate parameters. The underlying __update_freelist_fast() then constructs struct freelist_counters variables for passing the full freelist+counter combinations to cmpxchg double. In most cases we actually start with struct freelist_counters variables, but then pass the individual fields, only to construct new struct freelist_counters variables. While it's all inlined and thus should be efficient, we can simplify this code. Thus replace the 4 parameters for individual fields with two pointers to struct freelist_counters wherever applicable. __update_freelist_fast() can then pass them directly to try_cmpxchg_freelist(). The code is also more obvious as the pattern becomes unified such that we set up "old" and "new" struct freelist_counters variables upfront as we fully need them to be, and simply call [__]slab_update_freelist() on them. Previously some of the "new" values would be hidden among the many parameters and thus make it harder to figure out what the code does. Reviewed-by: Harry Yoo <harry.yoo@oracle.com> Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Diffstat (limited to 'tools/lib/python/abi/helpers.py')
0 files changed, 0 insertions, 0 deletions