From: Oscar Salvador <osalvador@suse.de>
To: Vlastimil Babka <vbabka@suse.cz>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel@vger.kernel.org, linux-mm@kvack.org,
Michal Hocko <mhocko@suse.com>, Marco Elver <elver@google.com>,
Andrey Konovalov <andreyknvl@gmail.com>,
Alexander Potapenko <glider@google.com>
Subject: Re: [PATCH v9 4/7] mm,page_owner: Implement the tracking of the stacks count
Date: Thu, 15 Feb 2024 12:57:39 +0100 [thread overview]
Message-ID: <Zc38M2CR2coppMFH@localhost.localdomain> (raw)
In-Reply-To: <9fc95f61-827f-40ee-a823-576cdcad7939@suse.cz>
On Thu, Feb 15, 2024 at 12:08:53PM +0100, Vlastimil Babka wrote:
> On 2/14/24 18:01, Oscar Salvador wrote:
> > Implement {inc,dec}_stack_record_count() which increments or
> > decrements on respective allocation and free operations, via
> > __reset_page_owner() (free operation) and __set_page_owner() (alloc
> > operation).
> > Newly allocated stack_record structs will be added to the list stack_list
> > via add_stack_record_to_list().
> > Modifications on the list are protected via a spinlock with irqs
> > disabled, since this code can also be reached from IRQ context.
> >
> > Signed-off-by: Oscar Salvador <osalvador@suse.de>
> > Reviewed-by: Marco Elver <elver@google.com>
>
> Reviewed-by: Vlastimil Babka <vbabka@suse.cz>
Thanks!
> > + if (atomic_try_cmpxchg_relaxed(&stack_record->count.refs, &old, 1))
> > + /* Add the new stack_record to our list */
> > + add_stack_record_to_list(stack_record, gfp_mask);
>
> Not returning here...
>
> > + }
> > + refcount_inc(&stack_record->count);
>
> ... means we'll increase the count to 2 on the first store, so there's a
> bias. Which would be consistent with the failure and dummy stacks that also
> start with a refcount of 1. But then the stack count reporting should
> decrement by 1 to prevent confusion? (in the following patch). Imagine
> somebody debugging an allocation stack where there are not so many of them,
> but the allocation is large, and being sidetracked by an off-by-one error.
Good catch Vlastimil!
Yes, we should substract one from the total count in stack_print.
--
Oscar Salvador
SUSE Labs
next prev parent reply other threads:[~2024-02-15 11:56 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-14 17:01 [PATCH v9 0/7] page_owner: print stacks and their outstanding allocations Oscar Salvador
2024-02-14 17:01 ` [PATCH v9 1/7] lib/stackdepot: Fix first entry having a 0-handle Oscar Salvador
2024-02-15 10:46 ` Vlastimil Babka
2024-02-14 17:01 ` [PATCH v9 2/7] lib/stackdepot: Move stack_record struct definition into the header Oscar Salvador
2024-02-15 8:16 ` Marco Elver
2024-02-15 8:22 ` Oscar Salvador
2024-02-15 9:30 ` Vlastimil Babka
2024-02-15 9:33 ` Marco Elver
2024-02-15 10:43 ` Vlastimil Babka
2024-02-14 17:01 ` [PATCH v9 3/7] mm,page_owner: Maintain own list of stack_records structs Oscar Salvador
2024-02-15 10:55 ` Vlastimil Babka
2024-02-15 12:52 ` Marco Elver
2024-02-14 17:01 ` [PATCH v9 4/7] mm,page_owner: Implement the tracking of the stacks count Oscar Salvador
2024-02-15 11:08 ` Vlastimil Babka
2024-02-15 11:57 ` Oscar Salvador [this message]
2024-02-14 17:01 ` [PATCH v9 5/7] mm,page_owner: Display all stacks and their count Oscar Salvador
2024-02-15 11:10 ` Vlastimil Babka
2024-02-15 11:58 ` Oscar Salvador
2024-02-14 17:01 ` [PATCH v9 6/7] mm,page_owner: Filter out stacks by a threshold Oscar Salvador
2024-02-15 11:12 ` Vlastimil Babka
2024-02-15 12:01 ` Oscar Salvador
2024-02-14 17:01 ` [PATCH v9 7/7] mm,page_owner: Update Documentation regarding page_owner_stacks Oscar Salvador
2024-02-15 11:13 ` Vlastimil Babka
2024-02-15 12:53 ` Marco Elver
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Zc38M2CR2coppMFH@localhost.localdomain \
--to=osalvador@suse.de \
--cc=akpm@linux-foundation.org \
--cc=andreyknvl@gmail.com \
--cc=elver@google.com \
--cc=glider@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mhocko@suse.com \
--cc=vbabka@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.