Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752861AbZI0TWt (ORCPT ); Sun, 27 Sep 2009 15:22:49 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752466AbZI0TWs (ORCPT ); Sun, 27 Sep 2009 15:22:48 -0400 Received: from cantor2.suse.de ([195.135.220.15]:53732 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752345AbZI0TWs (ORCPT ); Sun, 27 Sep 2009 15:22:48 -0400 Date: Sun, 27 Sep 2009 21:22:51 +0200 From: Nick Piggin To: Hugh Dickins Cc: Andi Kleen , Wu Fengguang , Andrew Morton , linux-mm@kvack.org, LKML Subject: Re: [RFC][PATCH] HWPOISON: remove the unsafe __set_page_locked() Message-ID: <20090927192251.GB6327@wotan.suse.de> References: <20090926031537.GA10176@localhost> <20090926190645.GB14368@wotan.suse.de> <20090926213204.GX30185@one.firstfloor.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.9i Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1562 Lines: 35 On Sun, Sep 27, 2009 at 05:26:25PM +0100, Hugh Dickins wrote: > On Sat, 26 Sep 2009, Andi Kleen wrote: > > > This is a bit tricky to do right now; you have a chicken and egg > > > problem between locking the page and pinning the inode mapping. > > > > One possibly simple solution would be to just allocate the page > > locked (GFP_LOCKED). When the allocator clears the flags it already > > modifies the state, so it could as well set the lock bit too. No > > atomics needed. And then clearing it later is also atomic free. > > That's a good idea. > > I don't particularly like adding a GFP_LOCKED just for this, and I > don't particularly like having to remember to unlock the thing on the > various(?) error paths between getting the page and adding it to cache. God no, please no more crazy branches in the page allocator. I'm going to resubmit my patches to allow 0-ref page allocations, so the pagecache will be able to work with those to do what we want here. > But it is a good idea, and if doing it that way would really close a > race window which checking page->mapping (or whatever) cannot (I'm > simply not sure about that), then it would seem the best way to go. Yep, seems reasonable: the ordering is no technical burden, and a simple comment pointing to hwpoison will keep it maintainable. -- 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/