Re: [patch] mm, hugetlb: add thread name and pid to SHM_HUGETLBmlock rlimit warning

From: Andrew Morton
Date: Thu Mar 08 2012 - 17:23:40 EST


On Thu, 8 Mar 2012 14:08:30 -0800 (PST)
David Rientjes <rientjes@xxxxxxxxxx> wrote:

> On Thu, 8 Mar 2012, Andrew Morton wrote:
>
> > > We have a get_task_comm() that does the task_lock()
> > > internally but requires a TASK_COMM_LEN buffer in the calling code. It's
> > > just easier for the calling code to the task_lock() itself for a tiny
> > > little printk().
> >
> > Well for a tiny little printk we could just omit the locking? The
> > printk() won't oops and once in a million years one person will see a
> > garbled comm[] string?
> >
>
> Sure, but task_lock() shouldn't be highly contended when the thread isn't
> forking or exiting (everything else is attaching/detaching from a cgroup
> or testing a mempolicy). I've always added it (like in the oom killer for
> the same reason) just because the race exists. Taking it for every thread
> on the system for one call to the oom killer has never slowed it down.

I wasn't concerned about the performance side of things - just that
it's such a pain over such a silly thing.

btw, if the code had done

printk_once(..., get_task_comm(...), ...)

the task_lock() would have been performed just a single time, rather
than every time.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/