Re: [PATCH] debugobjects: fix debug_objects_freed accounting

From: Arnd Bergmann
Date: Thu Feb 22 2018 - 10:50:44 EST


On Thu, Feb 22, 2018 at 2:58 PM, Waiman Long <longman@xxxxxxxxxx> wrote:
> On 02/22/2018 06:45 AM, Arnd Bergmann wrote:
>> The removal of the batched object freeing has caused the debug_objects_freed
>> to become read-only, and the reading is inside an ifdef, so gcc warns that it
>> is completely unused without CONFIG_DEBUG_FS:
>>
>> lib/debugobjects.c:71:14: error: 'debug_objects_freed' defined but not used [-Werror=unused-variable]
>>
>> Assuming we are still interested in this number, this adds back code to
>> count every instance we are about to free while we still hold the spinlock.
>>
>> Fixes: 636e1970fd7d ("debugobjects: Use global free list in free_object()")
>> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
>> ---
>> lib/debugobjects.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/lib/debugobjects.c b/lib/debugobjects.c
>> index faab2c4ea024..748288dba512 100644
>> --- a/lib/debugobjects.c
>> +++ b/lib/debugobjects.c
>> @@ -235,6 +235,9 @@ static void free_obj_work(struct work_struct *work)
>> hlist_move_list(&obj_to_free, &tofree);
>
> It would be simpler to just do:
> debug_objects_freed += obj_nr_tofree;
>

Right, I missed that, sending v2 now.

Thanks for the review!

Arnd