[PATCH 1/1] lib, stackdepot: Add helper to print stack entries into buffer.
imran.f.khan at oracle.com
imran.f.khan at oracle.com
Tue Sep 14 04:26:42 UTC 2021
On 13/9/21 6:51 pm, Vlastimil Babka wrote:
> On 9/10/21 16:10, Imran Khan wrote:
>> To print stack entries into a buffer, users of stackdepot,
>> first get a list of stack entries using stack_depot_fetch
>> and then print this list into a buffer using stack_trace_snprint.
>> Provide a helper in stackdepot for this purpose.
>> Also change above mentioned users to use this helper.
>>
>> Signed-off-by: Imran Khan <imran.f.khan at oracle.com>
>> Suggested-by: Vlastimil Babka <vbabka at suse.cz>
>
> Acked-by: Vlastimil Babka <vbabka at suse.cz>
>
>
Thanks for the review.
A comment below:
>
>> --- a/lib/stackdepot.c
>> +++ b/lib/stackdepot.c
>> @@ -214,6 +214,29 @@ static inline struct stack_record *find_stack(struct stack_record *bucket,
>> return NULL;
>> }
[...]
>> + */
>> +int stack_depot_snprint(depot_stack_handle_t handle, char *buf, size_t size,
>> + int spaces)
>> +{
>> + unsigned long *entries;
>> + unsigned int nr_entries;
>> +
>> + nr_entries = stack_depot_fetch(handle, &entries);
>> + return stack_trace_snprint(buf, size, entries, nr_entries, 0);
>
> stack_trace_snprint() has a WARN_ON(!entries).
> So maybe we should not call it if nr_entries is 0 (because e.g. handle was
> 0) as the warnings are not useful in that case.
>
Agree. I have addressed this feedback in v2 of patch.
Thanks
-- Imran
More information about the dri-devel
mailing list