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

From: Ingo Molnar
Date: Mon Feb 06 2017 - 17:50:39 EST



* Waiman Long <longman@xxxxxxxxxx> wrote:

> 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?

Should not be a problem usually, Andrew typically drops such patches if they show
up in a maintainer tree via linux-next.

And once accepted we don't silently drop patches from -tip hosted maintainer
trees, so this is a reliable workflow.

Thanks,

Ingo