From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 70947C07E9D for ; Wed, 28 Sep 2022 02:54:29 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B970B8E0117; Tue, 27 Sep 2022 22:54:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B45F38E00C1; Tue, 27 Sep 2022 22:54:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A0D9B8E0117; Tue, 27 Sep 2022 22:54:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 8CF098E00C1 for ; Tue, 27 Sep 2022 22:54:28 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 627FB1610FB for ; Wed, 28 Sep 2022 02:54:28 +0000 (UTC) X-FDA: 79959975816.09.D6C74BF Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by imf03.hostedemail.com (Postfix) with ESMTP id 6F95F20007 for ; Wed, 28 Sep 2022 02:54:25 +0000 (UTC) Received: from dggemv711-chm.china.huawei.com (unknown [172.30.72.56]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4Mcgvd6hNwz1P6r6; Wed, 28 Sep 2022 10:50:05 +0800 (CST) Received: from kwepemm600005.china.huawei.com (7.193.23.191) by dggemv711-chm.china.huawei.com (10.1.198.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 28 Sep 2022 10:54:21 +0800 Received: from [10.67.109.54] (10.67.109.54) by kwepemm600005.china.huawei.com (7.193.23.191) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Wed, 28 Sep 2022 10:54:20 +0800 Subject: Re: [PATCH] mm/hwpoison: fix build error without CONFIG_MEMORY_FAILURE To: Naoya Horiguchi References: <20220927102946.98622-1-tanghui20@huawei.com> <20220927125350.GA500539@u2004.lan> CC: , , , , From: Hui Tang Message-ID: Date: Wed, 28 Sep 2022 10:54:20 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.7.1 MIME-Version: 1.0 In-Reply-To: <20220927125350.GA500539@u2004.lan> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.67.109.54] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To kwepemm600005.china.huawei.com (7.193.23.191) X-CFilter-Loop: Reflected ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1664333666; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9FvcGUaiYb+/j75J+Aqyzch1IqbPtNBYSbTyDuBUOv8=; b=KEfHKgIUY+BsrNoGgw3648If66CeJpc++pdUnrzQMbeczfxUItNYZB8sur8IrOOexy/PEw U2t3ohWHYE+HP+tIHc6XrJBhKrkh2szR/um9tlVeWqd3pLfOnyR9mR2STp2k1Yd+nzDnSX l0NK82xB2tQlDHu6PVtwFs0YH6sZt5U= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf03.hostedemail.com: domain of tanghui20@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=tanghui20@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1664333666; a=rsa-sha256; cv=none; b=uE2ISotiHk8mAWNm9DHGYtYvE2xXfxCOpNoIxQ+OA3ovE0t9RefPw0g33mKGy2aaf3Xu/N V+nHM+v9tUBeWbB9asjSlj9MA9Q7/jU2LEIfbFfryXMEb3ezLmtsdLrJCyQfF0bpINpe6N lKO5iQ8UMXbQMqKom+1bCJJ2mZYb+4w= Authentication-Results: imf03.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf03.hostedemail.com: domain of tanghui20@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=tanghui20@huawei.com X-Rspamd-Server: rspam02 X-Stat-Signature: 54sd5tq5554qkpytgza3qrpqx5pj7zn4 X-Rspamd-Queue-Id: 6F95F20007 X-Rspam-User: X-HE-Tag: 1664333665-833313 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 2022/9/27 20:53, Naoya Horiguchi wrote: > On Tue, Sep 27, 2022 at 06:29:46PM +0800, Hui Tang wrote: >> Building without CONFIG_MEMORY_FAILURE will fail: >> >> mm/memory-failure.o: In function `action_result': >> memory-failure.c: undefined reference to `memblk_nr_poison_inc' >> mm/memory-failure.o: In function `page_handle_poison': >> memory-failure.c: undefined reference to `memblk_nr_poison_inc' >> mm/memory-failure.o: In function `__get_huge_page_for_hwpoison': >> memory-failure.c: undefined reference to `memblk_nr_poison_inc' >> mm/memory-failure.o: In function `unpoison_memory': >> memory-failure.c: undefined reference to `memblk_nr_poison_sub' >> mm/memory-failure.o: In function `num_poisoned_pages_inc': >> memory-failure.c: undefined reference to `memblk_nr_poison_inc' >> >> Add CONFIG_MEMORY_FAILURE wrapper for invoking memblk_nr_poison_{inc|sub}. >> >> Fixes: 69b496f03bb4 ("mm/hwpoison: introduce per-memory_block hwpoison counter") >> Signed-off-by: Hui Tang > > Thank you for the patch. I have a question. > If you disables CONFIG_MEMORY_FAILURE, mm/memory-failure.c should > not be compiled, so I wonder why you saw the compile error. > Could you share your .config file? > > Acutally I saw the similar report a few days ago > https://lore.kernel.org/lkml/20220923095013.1151252-1-michael@walle.cc/ > , where the build error happened in aarch64, so I likely missed some arch > dependency. I responded to the report by updating the patch by applying > "#if defined(CONFIG_MEMORY_FAILURE) && defined(CONFIG_MEMORY_HOTPLUG)" > to the definition of memblk_nr_poison_{inc,sub}. > https://lore.kernel.org/lkml/20220923141204.GA1484969@ik1-406-35019.vs.sakura.ne.jp/ > > I did not confirm that this fix is really right, because I can't reproduced > the build error in my environment. So could you check that v5 patch fixes > the build error you're seeing? (The current version in mm-unstable is v4, > so that should be replaced with v5.) Yes, when appling the latest patch, this build error is gone, thanks. > >> --- >> mm/memory-failure.c | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/mm/memory-failure.c b/mm/memory-failure.c >> index 03479895086d..5bb9d2d20234 100644 >> --- a/mm/memory-failure.c >> +++ b/mm/memory-failure.c >> @@ -77,14 +77,18 @@ static bool hw_memory_failure __read_mostly = false; >> void num_poisoned_pages_inc(unsigned long pfn) >> { >> atomic_long_inc(&num_poisoned_pages); >> +#ifdef CONFIG_MEMORY_FAILURE >> memblk_nr_poison_inc(pfn); >> +#endif >> } >> >> static inline void num_poisoned_pages_sub(unsigned long pfn, long i) >> { >> atomic_long_sub(i, &num_poisoned_pages); >> +#ifdef CONFIG_MEMORY_FAILURE >> if (pfn != -1UL) >> memblk_nr_poison_sub(pfn, i); >> +#endif >> } >> >> /* >> -- >> 2.17.1 >> >> >> > . >