Re: [tip:core/debugobjects] debugobjects: Reduce contention on the global pool_lock

From: Waiman Long
Date: Mon Feb 06 2017 - 17:09:15 EST


On 02/05/2017 05:03 AM, Ingo Molnar wrote:
> * tip-bot for Waiman Long <tipbot@xxxxxxxxx> wrote:
>
>> ---
>> lib/debugobjects.c | 31 ++++++++++++++++++++++---------
>> 1 file changed, 22 insertions(+), 9 deletions(-)
>>
>> diff --git a/lib/debugobjects.c b/lib/debugobjects.c
>> index dc78217..5476bbe 100644
>> --- a/lib/debugobjects.c
>> +++ b/lib/debugobjects.c
>> @@ -172,25 +172,38 @@ alloc_object(void *addr, struct debug_bucket *b, struct debug_obj_descr *descr)
>>
>> /*
>> * workqueue function to free objects.
>> + *
>> + * To reduce contention on the global pool_lock, the actual freeing of
>> + * debug objects will be delayed if the pool_lock is busy. We also free
>> + * the objects in a batch of 4 for each lock/unlock cycle.
>> */
>> +#define ODEBUG_FREE_BATCH 4
>> static void free_obj_work(struct work_struct *work)
>> {
> Please put an extra newline before function definitions.
>
> Looks good otherwise!
>
> Thanks,
>
> Ingo


Sure, I can do that. BTW the debugobjects patch was also pull into the
-mm tree a little while ago. Will that be a problem?

-Longman