From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760763AbZFONJS (ORCPT ); Mon, 15 Jun 2009 09:09:18 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753290AbZFONJC (ORCPT ); Mon, 15 Jun 2009 09:09:02 -0400 Received: from mail-gx0-f214.google.com ([209.85.217.214]:60244 "EHLO mail-gx0-f214.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752467AbZFONJB convert rfc822-to-8bit (ORCPT ); Mon, 15 Jun 2009 09:09:01 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=vpeb3kR5z1gFVI41ysA3Yz/3ylnVqfUCgAZBs5tPvfFps1QvXoymg9PBaaYrP15p54 wtOThyQFMcibBOaWmodQsO38BGZ8IxDnpj9y5GP+drn7vDks0mpojgvHAr41RlnAgI+e I6OPHjOecO3DXiLq/YWb7D2KJr3i1d+EzPDD0= MIME-Version: 1.0 In-Reply-To: <20090615031253.530308256@intel.com> References: <20090615024520.786814520@intel.com> <20090615031253.530308256@intel.com> Date: Mon, 15 Jun 2009 22:09:03 +0900 Message-ID: <28c262360906150609gd736bf7p7a57de1b81cedd97@mail.gmail.com> Subject: Re: [PATCH 09/22] HWPOISON: Handle hardware poisoned pages in try_to_unmap From: Minchan Kim To: Wu Fengguang Cc: Andrew Morton , LKML , Andi Kleen , Ingo Molnar , Mel Gorman , Thomas Gleixner , "H. Peter Anvin" , Peter Zijlstra , Nick Piggin , Hugh Dickins , Andi Kleen , "riel@redhat.com" , "chris.mason@oracle.com" , "linux-mm@kvack.org" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jun 15, 2009 at 11:45 AM, Wu Fengguang wrote: > From: Andi Kleen > > When a page has the poison bit set replace the PTE with a poison entry. > This causes the right error handling to be done later when a process runs > into it. > > Also add a new flag to not do that (needed for the memory-failure handler > later) > > Reviewed-by: Wu Fengguang > Signed-off-by: Andi Kleen > > --- >  include/linux/rmap.h |    1 + >  mm/rmap.c            |    9 ++++++++- >  2 files changed, 9 insertions(+), 1 deletion(-) > > --- sound-2.6.orig/mm/rmap.c > +++ sound-2.6/mm/rmap.c > @@ -958,7 +958,14 @@ static int try_to_unmap_one(struct page >        /* Update high watermark before we lower rss */ >        update_hiwater_rss(mm); > > -       if (PageAnon(page)) { > +       if (PageHWPoison(page) && !(flags & TTU_IGNORE_HWPOISON)) { > +               if (PageAnon(page)) > +                       dec_mm_counter(mm, anon_rss); > +               else if (!is_migration_entry(pte_to_swp_entry(*pte))) Isn't it straightforward to use !is_hwpoison_entry ? -- Kinds regards, Minchan Kim