[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100626083511.GF29809@laptop>
Date: Sat, 26 Jun 2010 18:35:11 +1000
From: Nick Piggin <npiggin@...e.de>
To: Bob Peterson <rpeterso@...hat.com>
Cc: linux-kernel@...r.kernel.org
Subject: Re: [PATCH] cache last free vmap_area to avoid restarting beginning
On Fri, Jun 25, 2010 at 05:40:22PM -0400, Bob Peterson wrote:
> On 2010-05-25 8:43:23, Nick Piggin wrote:
> Hey Nick,
>
> I spotted what seems to be a regression in this patch.
> The spin_lock was moved before the try loop:
>
> spin_lock(&vmap_area_lock);
> retry:
>
> But later, after the overflow label, it can unlock the spin_lock and
> loop back to retry without the spin_lock locked. See:
>
> overflow:
> spin_unlock(&vmap_area_lock);
> if (!purged) {
> purge_vmap_area_lazy();
> purged = 1;
> goto retry;
>
> If I'm not mistaken we should either put the spin_lock back below the
> retry label or move the spin_unlock after the if (!purged) to prevent
> accesses without the spin_lock held.
>
> Regards,
>
> Bob Peterson
> Red Hat File Systems
Hi Bob,
Thanks for having a look. You are right, I think Minchan spotted
this too and the version in Andrew Morton's tree should have that
fixed.
http://userweb.kernel.org/~akpm/mmotm/broken-out/mm-vmap-area-cache.patch
Thanks,
Nick
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists