Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp4731261imu; Mon, 12 Nov 2018 16:24:15 -0800 (PST) X-Google-Smtp-Source: AJdET5fgbthr5cYJV4FOEqj0WkUm6H9GJ1jMaOU/asQv12jp+wKWLHcY+a6906OcIzfh2lRvOj2s X-Received: by 2002:a17:902:8698:: with SMTP id g24-v6mr2913803plo.96.1542068655380; Mon, 12 Nov 2018 16:24:15 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542068655; cv=none; d=google.com; s=arc-20160816; b=B6MW1+U4bTr+Sb3AyL7i8r7l25+l6P8lS3ntm5R8Bxbe6fwj2uhqQCaxgoMFUiXI43 i01SDXt5TP2PFOjh22dX5AdNSpg8BrdI1BQ2RQkjfF+N52qLCELtEjgYw5B3h8X2MzBH mefsWZ0+mIJY2ENskilRTJJQNXoF2VKbP4dW0XLtnXMXxFlJn2A5UilD1XU18ujhofzA F4ya/IDk53gkSD47A4TTSKJioC9wmQf/pNBarbPZv/rhQnwf4jvaqfZ5gyjzpJxO5kY8 fho3YWTuSOJgiKUzAV+DoZ01tVXH0u+PcujYzYuOXTPR4S3NOMrrybKA7DLn5tswmdZX GoQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:references :message-id:date:thread-index:thread-topic:subject:cc:to:from; bh=DW0+fiMib8PfC83v87uz/g5MtvBNOt3esiDd4woAQ9A=; b=omlWUqR1rnGB9P03j1f3SCpvmbbwCJeq+9ZV3od0R1pNQesfLjS5yEa5yQDz66pKWJ EDfnQO37zIfe9BSOd160ne9TN+jL50P2Eir6sUPL/zE8omW0RP2FWrBnpUNPdHQqHmzV bkFXfg/1J8qB3g7DF1FrKtUQjbzEzqE0BJai39t/RDS1SfLh8mNCROihSk7eq/zZxMiS x/AIZXIM9L0xsxaIMTndWfaXupq0U/mC+3QMlifJVRaT/6y9Y1P5iNau48gSCElvzLNw AIZXEBFmzg+gwa8Kua7FkNPHxO5Uzam/n5PcesHYWc3MEj/mPOAMe4UFI7cwW7He5tPh 6E9g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m187-v6si22230383pfb.202.2018.11.12.16.23.58; Mon, 12 Nov 2018 16:24:15 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730637AbeKMKRJ convert rfc822-to-8bit (ORCPT + 99 others); Tue, 13 Nov 2018 05:17:09 -0500 Received: from tyo162.gate.nec.co.jp ([114.179.232.162]:54780 "EHLO tyo162.gate.nec.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725991AbeKMKRI (ORCPT ); Tue, 13 Nov 2018 05:17:08 -0500 Received: from mailgate02.nec.co.jp ([114.179.233.122]) by tyo162.gate.nec.co.jp (8.15.1/8.15.1) with ESMTPS id wAD0LJgL022951 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Tue, 13 Nov 2018 09:21:19 +0900 Received: from mailsv02.nec.co.jp (mailgate-v.nec.co.jp [10.204.236.94]) by mailgate02.nec.co.jp (8.15.1/8.15.1) with ESMTP id wAD0LJwl026430; Tue, 13 Nov 2018 09:21:19 +0900 Received: from mail03.kamome.nec.co.jp (mail03.kamome.nec.co.jp [10.25.43.7]) by mailsv02.nec.co.jp (8.15.1/8.15.1) with ESMTP id wAD0Ijo1029359; Tue, 13 Nov 2018 09:21:19 +0900 Received: from bpxc99gp.gisp.nec.co.jp ([10.38.151.152] [10.38.151.152]) by mail03.kamome.nec.co.jp with ESMTP id BT-MMP-5489675; Tue, 13 Nov 2018 09:19:09 +0900 Received: from BPXM23GP.gisp.nec.co.jp ([10.38.151.215]) by BPXC24GP.gisp.nec.co.jp ([10.38.151.152]) with mapi id 14.03.0319.002; Tue, 13 Nov 2018 09:19:08 +0900 From: Naoya Horiguchi To: Anshuman Khandual CC: "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , Michal Hocko , "Andrew Morton" , Mike Kravetz , "xishi.qiuxishi@alibaba-inc.com" , "Laurent Dufour" Subject: Re: [RFC][PATCH v1 11/11] mm: hwpoison: introduce clear_hwpoison_free_buddy_page() Thread-Topic: [RFC][PATCH v1 11/11] mm: hwpoison: introduce clear_hwpoison_free_buddy_page() Thread-Index: AQHUd/gk4LHqKeFY+UKwdfHNwR3/xKVGuSYAgAWNBYA= Date: Tue, 13 Nov 2018 00:19:08 +0000 Message-ID: <20181113001907.GD5945@hori1.linux.bs1.fc.nec.co.jp> References: <1541746035-13408-1-git-send-email-n-horiguchi@ah.jp.nec.com> <1541746035-13408-12-git-send-email-n-horiguchi@ah.jp.nec.com> In-Reply-To: Accept-Language: en-US, ja-JP Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.51.8.80] Content-Type: text/plain; charset="iso-2022-jp" Content-ID: Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 X-TM-AS-MML: disable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Nov 09, 2018 at 05:03:06PM +0530, Anshuman Khandual wrote: > > > On 11/09/2018 12:17 PM, Naoya Horiguchi wrote: > > The new function is a reverse operation of set_hwpoison_free_buddy_page() > > to adjust unpoison_memory() to the new semantics. > > > > Signed-off-by: Naoya Horiguchi > > snip > > > + > > +/* > > + * Reverse operation of set_hwpoison_free_buddy_page(), which is expected > > + * to work only on error pages isolated from buddy allocator. > > + */ > > +bool clear_hwpoison_free_buddy_page(struct page *page) > > +{ > > + struct zone *zone = page_zone(page); > > + bool unpoisoned = false; > > + > > + spin_lock(&zone->lock); > > + if (TestClearPageHWPoison(page)) { > > + unsigned long pfn = page_to_pfn(page); > > + int migratetype = get_pfnblock_migratetype(page, pfn); > > + > > + __free_one_page(page, pfn, zone, 0, migratetype); > > + unpoisoned = true; > > + } > > + spin_unlock(&zone->lock); > > + return unpoisoned; > > +} > > #endif > > > > Though there are multiple page state checks in unpoison_memory() leading > upto clearing HWPoison flag, the page must not be in buddy already if > __free_one_page() would be called on it. Yes, you're right. clear_hwpoison_free_buddy_page() is intended to cancel the isolation by set_hwpoison_free_buddy_page() which removes the target page from buddy allocator, so the page clear_hwpoison_free_buddy_page() tries to handle is not a buddy page actually (not linked to any freelist). Thanks, Naoya Horiguchi