summaryrefslogtreecommitdiff
path: root/tools/perf/lib/Documentation/tutorial/git@git.tavy.me:linux.git
diff options
context:
space:
mode:
authorHao Li <haolee.swjtu@gmail.com>2025-12-10 08:26:31 +0800
committerVlastimil Babka <vbabka@suse.cz>2026-01-27 18:03:19 +0100
commit4b038a9670154e8bb4832d80f0f2b68b1b812171 (patch)
tree45fc25d8e8b5249de9323d0005d39a54dd971b82 /tools/perf/lib/Documentation/tutorial/git@git.tavy.me:linux.git
parentd907bf434fcd64c9609aa2983574e7c1f28e5493 (diff)
slub: keep empty main sheaf as spare in __pcs_replace_empty_main()
When __pcs_replace_empty_main() fails to obtain a full sheaf directly from the barn, it may either: - Refill an empty sheaf obtained via barn_get_empty_sheaf(), or - Allocate a brand new full sheaf via alloc_full_sheaf(). After reacquiring the per-CPU lock, if pcs->main is still empty and pcs->spare is NULL, the current code donates the empty main sheaf to the barn via barn_put_empty_sheaf() and installs the full sheaf as pcs->main, leaving pcs->spare unpopulated. Instead, keep the existing empty main sheaf locally as the spare: pcs->spare = pcs->main; pcs->main = full; This populates pcs->spare earlier, which can reduce future barn traffic. Suggested-by: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Hao Li <haolee.swjtu@gmail.com> Reviewed-by: Harry Yoo <harry.yoo@oracle.com> Signed-off-by: Vlastimil Babka <vbabka@suse.cz> Tested-by: Zhao Liu <zhao1.liu@intel.com>
Diffstat (limited to 'tools/perf/lib/Documentation/tutorial/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions