Messages in this thread | | | Date | Mon, 23 Nov 2009 11:38:30 +0200 | Subject | Re: [PATCH 1/2] pid: tighten pidmap spinlock critical section by removing kfree() | From | Pekka Enberg <> |
| |
(Adding some CC's.)
On Sat, Nov 21, 2009 at 2:16 PM, André Goddard Rosa <andre.goddard@gmail.com> wrote: > Avoid calling kfree() under pidmap spinlock, calling it afterwards. > > Normally kfree() is very fast, but sometimes it can be slow, so avoid > calling it under the spinlock if we can. > > Signed-off-by: André Goddard Rosa <andre.goddard@gmail.com> > cc: Pekka Enberg <penberg@cs.helsinki.fi> > --- > kernel/pid.c | 7 ++++--- > 1 files changed, 4 insertions(+), 3 deletions(-) > > diff --git a/kernel/pid.c b/kernel/pid.c > index d3f722d..55fd590 100644 > --- a/kernel/pid.c > +++ b/kernel/pid.c > @@ -141,11 +141,12 @@ static int alloc_pidmap(struct pid_namespace *pid_ns) > * installing it: > */ > spin_lock_irq(&pidmap_lock); > - if (map->page) > - kfree(page); > - else > + if (!map->page) { > map->page = page; > + page = NULL; > + } > spin_unlock_irq(&pidmap_lock); > + kfree(page); > if (unlikely(!map->page)) > break; > } > -- > 1.6.5.3.298.g39add > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |