All of lore.kernel.org
 help / color / mirror / Atom feed
From: imran.f.khan@oracle.com
To: Vlastimil Babka <vbabka@suse.cz>,
	geert@linux-m68k.org, akpm@linux-foundation.org
Cc: linux-kernel@vger.kernel.org,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	Alexander Potapenko <glider@google.com>
Subject: Re: [RFC PATCH 2/2] lib, stackdepot: Add helper to print stack entries.
Date: Thu, 2 Sep 2021 10:11:11 +1000	[thread overview]
Message-ID: <9527f084-4d60-2a85-f4e3-8e16cf7aad08@oracle.com> (raw)
In-Reply-To: <f425e27a-8f4a-7687-589e-b726085c5c7a@suse.cz>

Hi Vlastimil,

On 1/9/21 7:07 pm, Vlastimil Babka wrote:
> On 9/1/21 07:19, Imran Khan wrote:
>> To print a stack entries, users of stackdepot, first
>> use stack_depot_fetch to get a list of stack entries
>> and then use stack_trace_print to print this list.
>> Provide a helper in stackdepot to print stack entries
>> based on stackdepot handle.
>>
>> Signed-off-by: Imran Khan <imran.f.khan@oracle.com>
>> Suggested-by: Vlastimil Babka <vbabka@suse.cz>
> 
> You should convert existing users together with the patch that introduces
> the helper. I think print_stack() in mm/kasan/report.c, and
> __dump_page_owner() could use this.
> 

Okay. I have done this in v2 of the patch set. BTW I also see some users 
(one place in page owner, rest all in some gpu drivers) of 
stack_depot_fetch + stack_trace_snprintf. Could you please let me know 
if it would be okay to add a helper corresponding to 
stack_trace_snprintf as well.

>> ---
>>   lib/stackdepot.c | 17 +++++++++++++++++
>>   1 file changed, 17 insertions(+)
> 
> It's missing a declaration in include/linux/stackdepot.h
> Perhaps it could be all be a static inline there anyway.
> 

Agree. I have added missing declaration now. I have not made it inline
though.
>> diff --git a/lib/stackdepot.c b/lib/stackdepot.c
>> index 1d42ef9ef766..eab4476b060b 100644
>> --- a/lib/stackdepot.c
>> +++ b/lib/stackdepot.c
>> @@ -214,6 +214,23 @@ static inline struct stack_record *find_stack(struct stack_record *bucket,
>>   	return NULL;
>>   }
>>   
>> +/**
>> + * stack_depot_print - print stack entries from a depot
>> + *
>> + * @handle:		Stack depot handle which was returned from
>> + *			stack_depot_save().
>> + *
>> + */
>> +void stack_depot_print(depot_stack_handle_t stack)
>> +{
>> +	unsigned long *entries;
>> +	unsigned int nr_entries;
>> +
>> +	nr_entries = stack_depot_fetch(stack, &entries);
>> +	stack_trace_print(entries, nr_entries, 0);
>> +}
>> +EXPORT_SYMBOL_GPL(stack_depot_print);
>> +
>>   /**
>>    * stack_depot_fetch - Fetch stack entries from a depot
>>    *
>>
> 

Thanks again for the review.

--Imran

  reply	other threads:[~2021-09-02  0:11 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-01  5:19 [RFC PATCH 0/2] lib, stackdepot: check stackdepot handle before accessing slabs Imran Khan
2021-09-01  5:19 ` [RFC PATCH 1/2] " Imran Khan
2021-09-01  8:58   ` Vlastimil Babka
2021-09-02  0:12     ` imran.f.khan
2021-09-01  5:19 ` [RFC PATCH 2/2] lib, stackdepot: Add helper to print stack entries Imran Khan
2021-09-01  9:07   ` Vlastimil Babka
2021-09-02  0:11     ` imran.f.khan [this message]
2021-09-02  8:00       ` Vlastimil Babka

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=9527f084-4d60-2a85-f4e3-8e16cf7aad08@oracle.com \
    --to=imran.f.khan@oracle.com \
    --cc=akpm@linux-foundation.org \
    --cc=geert@linux-m68k.org \
    --cc=glider@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --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.