On 4/4/24 3:55 AM, Andrew Morton wrote: > The patch titled > Subject: stackdepot: rename pool_index to pool_index_plus_1 > has been added to the -mm mm-unstable branch. Its filename is > stackdepot-rename-pool_index-to-pool_index_plus_1.patch > > This patch will shortly appear at > https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/stackdepot-rename-pool_index-to-pool_index_plus_1.patch > > This patch will later appear in the mm-unstable branch at > git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm > > Before you just go and hit "reply", please: > a) Consider who else should be cc'ed > b) Prefer to cc a suitable mailing list as well > c) Ideally: find the original patch on the mailing list and do a > reply-to-all to that, adding suitable additional cc's > > *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** > > The -mm tree is included into linux-next via the mm-everything > branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm > and is updated there every 2-3 working days > > ------------------------------------------------------ > From: Peter Collingbourne <pcc@xxxxxxxxxx> > Subject: stackdepot: rename pool_index to pool_index_plus_1 > Date: Mon, 1 Apr 2024 17:14:58 -0700 > > Commit 3ee34eabac2a ("lib/stackdepot: fix first entry having a 0-handle") > changed the meaning of the pool_index field to mean "the pool index plus > 1". This made the code accessing this field less self-documenting, as > well as causing debuggers such as drgn to not be able to easily remain > compatible with both old and new kernels, because they typically do that > by testing for presence of the new field. Because stackdepot is a > debugging tool, we should make sure that it is debugger friendly. > Therefore, give the field a different name to improve readability as well > as enabling debugger backwards compatibility. Can we please move this to mm-hotfixes-unstable otherwise 6.9 would become an odd release with the new semantics and old name so debuggers wouldnt't recognize the new semantics there. > Link: https://lkml.kernel.org/r/20240402001500.53533-1-pcc@xxxxxxxxxx > Link: https://linux-review.googlesource.com/id/Ib3e70c36c1d230dd0a118dc22649b33e768b9f88 > Signed-off-by: Peter Collingbourne <pcc@xxxxxxxxxx> > Acked-by: Vlastimil Babka <vbabka@xxxxxxx> > Reviewed-by: Alexander Potapenko <glider@xxxxxxxxxx> > Acked-by: Marco Elver <elver@xxxxxxxxxx> > Acked-by: Oscar Salvador <osalvador@xxxxxxx> > Cc: Andrey Konovalov <andreyknvl@xxxxxxxxx> > Cc: Michal Hocko <mhocko@xxxxxxxx> > Cc: Omar Sandoval <osandov@xxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > include/linux/stackdepot.h | 7 +++---- > lib/stackdepot.c | 4 ++-- > 2 files changed, 5 insertions(+), 6 deletions(-) > > --- a/include/linux/stackdepot.h~stackdepot-rename-pool_index-to-pool_index_plus_1 > +++ a/include/linux/stackdepot.h > @@ -44,10 +44,9 @@ typedef u32 depot_stack_handle_t; > union handle_parts { > depot_stack_handle_t handle; > struct { > - /* pool_index is offset by 1 */ > - u32 pool_index : DEPOT_POOL_INDEX_BITS; > - u32 offset : DEPOT_OFFSET_BITS; > - u32 extra : STACK_DEPOT_EXTRA_BITS; > + u32 pool_index_plus_1 : DEPOT_POOL_INDEX_BITS; > + u32 offset : DEPOT_OFFSET_BITS; > + u32 extra : STACK_DEPOT_EXTRA_BITS; > }; > }; > > --- a/lib/stackdepot.c~stackdepot-rename-pool_index-to-pool_index_plus_1 > +++ a/lib/stackdepot.c > @@ -330,7 +330,7 @@ static struct stack_record *depot_pop_fr > stack = current_pool + pool_offset; > > /* Pre-initialize handle once. */ > - stack->handle.pool_index = pool_index + 1; > + stack->handle.pool_index_plus_1 = pool_index + 1; > stack->handle.offset = pool_offset >> DEPOT_STACK_ALIGN; > stack->handle.extra = 0; > INIT_LIST_HEAD(&stack->hash_list); > @@ -441,7 +441,7 @@ static struct stack_record *depot_fetch_ > const int pools_num_cached = READ_ONCE(pools_num); > union handle_parts parts = { .handle = handle }; > void *pool; > - u32 pool_index = parts.pool_index - 1; > + u32 pool_index = parts.pool_index_plus_1 - 1; > size_t offset = parts.offset << DEPOT_STACK_ALIGN; > struct stack_record *stack; > > _ > > Patches currently in -mm which might be from pcc@xxxxxxxxxx are > > stackdepot-rename-pool_index-to-pool_index_plus_1.patch >