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 CCB42C48BF6 for ; Mon, 4 Mar 2024 12:09:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2345E6B006E; Mon, 4 Mar 2024 07:09:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1E4246B0072; Mon, 4 Mar 2024 07:09:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0D5246B0074; Mon, 4 Mar 2024 07:09:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id EBD2B6B006E for ; Mon, 4 Mar 2024 07:09:37 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 9797FA0A33 for ; Mon, 4 Mar 2024 12:09:37 +0000 (UTC) X-FDA: 81859237194.24.B50F06B Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [45.249.212.190]) by imf13.hostedemail.com (Postfix) with ESMTP id 28C8720022 for ; Mon, 4 Mar 2024 12:09:33 +0000 (UTC) Authentication-Results: imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.190 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1709554175; 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=ZXG9NoNZa8OJFqJGEFM1UjHpHah2qLtftemZhv5VBos=; b=0hIPsCyKy8DhNVHzqRVNiTJNwwDTJjjFafakyUunMzM/2pjOGv7XlBnqALAa5WOXnjDIvl Se8HAg+MT+7+v9ThHiaSlEPe+WFXieqkxRm0fgZoCcosyCLQkIRewaGUzAYtLv48yeHXeE sALeCkEmeCmCSOokKgQd5RvKvCIQpak= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1709554175; a=rsa-sha256; cv=none; b=idofwjA84ODPf5jaSVzpgk5pcur23sSl4Ppt44iWb1PxLz1e91zIq+Mj3jrF4VOboUvnHp 0XSaJllsJcm4NUAlDgTIqx5CtbkT1542anQm8LY6SLFcaoFdfl23PdOPN6ZYVipMhV6WM2 FIv0izwst60RfWW+c9azQwW9HlcHKoY= ARC-Authentication-Results: i=1; imf13.hostedemail.com; dkim=none; spf=pass (imf13.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.190 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com Received: from mail.maildlp.com (unknown [172.19.163.44]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4TpHWq54qJz1xq3Y; Mon, 4 Mar 2024 20:07:51 +0800 (CST) Received: from canpemm500002.china.huawei.com (unknown [7.192.104.244]) by mail.maildlp.com (Postfix) with ESMTPS id 51809140118; Mon, 4 Mar 2024 20:09:27 +0800 (CST) Received: from [10.173.135.154] (10.173.135.154) by canpemm500002.china.huawei.com (7.192.104.244) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Mon, 4 Mar 2024 20:09:26 +0800 Subject: Re: [PATCH 1/8] mm/memory-failure: Remove fsdax_pgoff argument from __add_to_kill To: "Matthew Wilcox (Oracle)" CC: , Naoya Horiguchi , Dan Williams , Andrew Morton References: <20240229212036.2160900-1-willy@infradead.org> <20240229212036.2160900-2-willy@infradead.org> From: Miaohe Lin Message-ID: Date: Mon, 4 Mar 2024 20:09:26 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20240229212036.2160900-2-willy@infradead.org> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.173.135.154] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To canpemm500002.china.huawei.com (7.192.104.244) X-Rspamd-Queue-Id: 28C8720022 X-Rspam-User: X-Rspamd-Server: rspam11 X-Stat-Signature: 3djirdfra69rmq43p6fz6r51ujeifzsw X-HE-Tag: 1709554173-634330 X-HE-Meta: U2FsdGVkX191ca6eJlRBJ4VkxPDRM6hl32Mz+iXGIvZauWP0qRrITn6ALVN/UCBzujZL1yhRjEeuNNjUWU7wz2sI6KO+7A1C5zsthkufFiH4glUjSiZMr1nD8M+LvgxEA2UW1gigVS2N69S2oY3u8wx0SXS2V/AZWtd5h5IiZi2+Tc/QZXUFGbn292N2QYCSDVY3SJ/cVgSasBV3pDf3VM5nnjE2ZoJILN770EjX7yJGi9O6E8Gu9WTsYAqV4c6FG8IGRt743l1KaxZ6x3GbsslC3IIX0a2f+GFtPx4fH1bItgOa2WiONKooBPj5OSLkZjO4OOfWsh7sqHPEWftXxN8L6k4j5C/6asOlWcZh3SFOi669LBwZtBRI8JhfW/7UDS11v5kAAlSXsTdk0BGhVsfSmiQJWG/Yo3crlGUuP8RPU/0Q0wDHEeJ5WwoSBwB53G1+CM9JyUl+1u04zXaGEH2W0mq77SPuRW5oOXqjcWAg85BmfyUipRBlrApiQUc50lZ37b+d++R54wJDMwHBypnJ+9DnNot07rCP1cndmP5NFDKqlx19KnF4qSHLdh3ebrKoWa/KznaZCcSUEAMmjOp13121WNXQMOKPlliWpjfNi382oJgquuJmfcbH7GRkpnYQwJGArrgElwKTJpV2vt2IxIFTJHIISrthP8wCRHVDOcm7iaD7B6W3fEeHdwQ6yj7p90TnKht5Yjpw5KqIwwT0Jtv9xpF9kWmpz1df8eBvRSQy+8tKz2qlLauP6tmM+ovaYgvP8yG1M860Y9yWq33EV8QBmbfe2oAvsfJhJl6o0HLRjO9vZvpuet/Xl9aiuchrH/feookkoy3BreZ0tj/l7VD+OJYOhejKpMKei2A19F27X6HQvWEY1MGhxxX2ybd1XDQtOX4KP64v3nLcrI22jk/qqQ5jD8iQtb/EWT6c5Dy2JlRYnpBfKSGI+RejncZHDS71i9pM8sDSy6p LBgthNx4 BI/x3+Uog9JetWCKumpE9hJWxTdn2EuR/N2EIZVVLtxJ7JZtfAIZEXcG+mqaqo2luvbkRSYo2DRXrzxgwvFpb2TdrTM8RhCWKAIvXyaJdhb74ghmNDIFFWI1JhcLUmzPqU3bMUaH5HK4jRu9sTSgF9I1X0RXI62Klb53z2zW+wBFC/eSsUXyEp3SGhQBUVh2F/nKFoRjW5iAufEkx/RoxcFFj4CwRcLaNan+cWuO0VnHyFF2Iav886ZCRIgt9ti5e9gXpd1zVa1xeJ2s96w074ZM/a9bYKfffHghB 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: List-Subscribe: List-Unsubscribe: On 2024/3/1 5:20, Matthew Wilcox (Oracle) wrote: > Unify the KSM and DAX codepaths by calculating the addr in > add_to_kill_fsdax() instead of telling __add_to_kill() to calculate it. > > Signed-off-by: Matthew Wilcox (Oracle) > Cc: Dan Williams This patch looks good to me. Thanks. Acked-by: Miaohe Lin > --- > mm/memory-failure.c | 27 +++++++++------------------ > 1 file changed, 9 insertions(+), 18 deletions(-) > > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index 9349948f1abf..9356227a50bb 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -416,21 +416,13 @@ static unsigned long dev_pagemap_mapping_shift(struct vm_area_struct *vma, > * not much we can do. We just print a message and ignore otherwise. > */ > > -#define FSDAX_INVALID_PGOFF ULONG_MAX > - > /* > * Schedule a process for later kill. > * Uses GFP_ATOMIC allocations to avoid potential recursions in the VM. > - * > - * Note: @fsdax_pgoff is used only when @p is a fsdax page and a > - * filesystem with a memory failure handler has claimed the > - * memory_failure event. In all other cases, page->index and > - * page->mapping are sufficient for mapping the page back to its > - * corresponding user virtual address. > */ > static void __add_to_kill(struct task_struct *tsk, struct page *p, > struct vm_area_struct *vma, struct list_head *to_kill, > - unsigned long ksm_addr, pgoff_t fsdax_pgoff) > + unsigned long addr) > { > struct to_kill *tk; > > @@ -440,12 +432,10 @@ static void __add_to_kill(struct task_struct *tsk, struct page *p, > return; > } > > - tk->addr = ksm_addr ? ksm_addr : page_address_in_vma(p, vma); > - if (is_zone_device_page(p)) { > - if (fsdax_pgoff != FSDAX_INVALID_PGOFF) > - tk->addr = vma_pgoff_address(fsdax_pgoff, 1, vma); > + tk->addr = addr ? addr : page_address_in_vma(p, vma); > + if (is_zone_device_page(p)) > tk->size_shift = dev_pagemap_mapping_shift(vma, tk->addr); > - } else > + else > tk->size_shift = page_shift(compound_head(p)); > > /* > @@ -475,7 +465,7 @@ static void add_to_kill_anon_file(struct task_struct *tsk, struct page *p, > struct vm_area_struct *vma, > struct list_head *to_kill) > { > - __add_to_kill(tsk, p, vma, to_kill, 0, FSDAX_INVALID_PGOFF); > + __add_to_kill(tsk, p, vma, to_kill, 0); > } > > #ifdef CONFIG_KSM > @@ -493,10 +483,10 @@ static bool task_in_to_kill_list(struct list_head *to_kill, > } > void add_to_kill_ksm(struct task_struct *tsk, struct page *p, > struct vm_area_struct *vma, struct list_head *to_kill, > - unsigned long ksm_addr) > + unsigned long addr) > { > if (!task_in_to_kill_list(to_kill, tsk)) > - __add_to_kill(tsk, p, vma, to_kill, ksm_addr, FSDAX_INVALID_PGOFF); > + __add_to_kill(tsk, p, vma, to_kill, addr); > } > #endif > /* > @@ -670,7 +660,8 @@ static void add_to_kill_fsdax(struct task_struct *tsk, struct page *p, > struct vm_area_struct *vma, > struct list_head *to_kill, pgoff_t pgoff) > { > - __add_to_kill(tsk, p, vma, to_kill, 0, pgoff); > + unsigned long addr = vma_pgoff_address(pgoff, 1, vma); > + __add_to_kill(tsk, p, vma, to_kill, addr); > } > > /* >