Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp1366064pxb; Fri, 21 Jan 2022 16:38:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJz9MFN6atQYG3yqRbAhggBS2T/3vjz/GHGH7OEOcL7ylthHusApHP+dWaya5iO8YUGAg9Fm X-Received: by 2002:a63:33cd:: with SMTP id z196mr4503680pgz.78.1642811937446; Fri, 21 Jan 2022 16:38:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642811937; cv=none; d=google.com; s=arc-20160816; b=HTsji3iaLSJAj7OBYYcj4Dvv2YV73IhI/avVK2e+P+oMtE/al85Pmu15OKQjohddEl 9cmQdnYSrtkLpoft6pOLqXfGnfZxWTXOnj8XuIzVMB5f0axreKKEADIDCteaREXAYsYM jRoh8velnz5XC59JJ4ZLTUCcAbY6aJXuYdsCdBor2A+hcHxxcetgeJF/KKPZxj/CZs7I yJNCq4uZPwHKJ9t+bzb0biG3bmfnVrwkjQOGZtZg5f1QfHZcSOoArT9ifq7nOdf9x22H O7nEv7cUHmrk+jRv6hfzRn3ULkZPXGvMkT/oRhnbmbGdPMG89aQKRwNJxTSsDZPf1yRh qHQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=yazOhP0ZHzlY8srvqZA4aBLnRzwBUTc6naQJNmJIPto=; b=WyzkGo8BsW1/WRjY6vrqlhUePCYf0h5LOL8b668Wey5np0VC2xs0aZfZ5rGQu6d2TD lGTpyxiU8Ax2fk9Rx7nP5dckryXK/TIBg74fpPWBuactGjQZ9UH2i+BUvPyfjXtywzqI /tiD/0bdS4M5pxdxaf4hryC2t5Mx+itvxppXZaWBOa70vXOsC5ErMSWmqatY0dzdBy2T P4XYz0lCwkWkK9ZXdK76BQDxSUai5SS/Rle474/744NVtKADlWz8914kEcpvf/vle7lO EXiRiZPT1EiWohKBA2OvDwyQ793C0+J6XxneYne9kyvspCax8MWdmncxJ+uGOzoyzJM1 f7Rw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=l4crWR5N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id q84si7741329pgq.500.2022.01.21.16.38.45; Fri, 21 Jan 2022 16:38:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@bytedance-com.20210112.gappssmtp.com header.s=20210112 header.b=l4crWR5N; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=bytedance.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1379263AbiAUH5Y (ORCPT + 99 others); Fri, 21 Jan 2022 02:57:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1379273AbiAUH4a (ORCPT ); Fri, 21 Jan 2022 02:56:30 -0500 Received: from mail-pj1-x1035.google.com (mail-pj1-x1035.google.com [IPv6:2607:f8b0:4864:20::1035]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 11FD0C06173F for ; Thu, 20 Jan 2022 23:56:30 -0800 (PST) Received: by mail-pj1-x1035.google.com with SMTP id d12-20020a17090a628c00b001b4f47e2f51so9874342pjj.3 for ; Thu, 20 Jan 2022 23:56:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance-com.20210112.gappssmtp.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=yazOhP0ZHzlY8srvqZA4aBLnRzwBUTc6naQJNmJIPto=; b=l4crWR5N15uNGOzFWkRqNP1rs6DtIDG8844ZqupvfUpmQECG23k+vyhFEhXsny/5xw fa/xQBPl/XEZfrXn6weA7s/O4oobHkUuX/789CQQV8R8YA0k+NweSnP67sj1F9yGUtnq lhTZBXn2zqx4wYNwYucAP7uQmKbAazKl5IbHqaYlIlDJuuHZ1SwITsVBpqVrwUwmA0MU buOQRB0QdA1vPqCn1sNGqJejfqaJrk98h8PnV9IioeIRqu/aPh33qRLDCuSi002egg/N QHkUeqChy7k5tfTqYGUL7a94JmyPPvubU4Xil9E+orA/juejflD69PJiRlrnguXM1pot VnGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=yazOhP0ZHzlY8srvqZA4aBLnRzwBUTc6naQJNmJIPto=; b=oWRtr0lNUNFzwzwaUYWjzkPEU4+Uuvz4vEFv87+uvUwDfANy3DTfUl3+tiFAKiQjXI 7mt6GbNFhsLAut5DqoLiBFCqe1e222dT7hryYPWg4KGEhz5/9WXW96VrWfLYgYwTnUO1 RLphRGPquP2Sae2LwzkiOz0zyh60EJAyr93TG/VI1dpDwKxP1X2i3OBcAWNKjeZscTC5 4ixHS4hC0yg/N3TCdjb4/TbjlK9dc1EqF+3EZSzZRuidMcplE3mkoSwbfN9sJ33hXikG G2EQXeVDhkaP746ZPbMM1NAKsXPfdu0syXBynLq95lxOMjwdVrxhLdS3O8FpORaBgiIR hv9w== X-Gm-Message-State: AOAM532ild3trbeQ5eUKL9mbIUc2xELvrmJwSBXjJqXAg4ZJxYPLokkU ft7wKKcKvRAEINgXS5VZUve+uQ== X-Received: by 2002:a17:902:e54d:b0:14b:1a2b:e842 with SMTP id n13-20020a170902e54d00b0014b1a2be842mr2707933plf.102.1642751789637; Thu, 20 Jan 2022 23:56:29 -0800 (PST) Received: from FVFYT0MHHV2J.tiktokcdn.com ([139.177.225.230]) by smtp.gmail.com with ESMTPSA id t15sm10778178pjy.17.2022.01.20.23.56.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Jan 2022 23:56:29 -0800 (PST) From: Muchun Song To: dan.j.williams@intel.com, willy@infradead.org, jack@suse.cz, viro@zeniv.linux.org.uk, akpm@linux-foundation.org, apopple@nvidia.com, shy828301@gmail.com, rcampbell@nvidia.com, hughd@google.com, xiyuyang19@fudan.edu.cn, kirill.shutemov@linux.intel.com, zwisler@kernel.org Cc: linux-fsdevel@vger.kernel.org, nvdimm@lists.linux.dev, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Muchun Song Subject: [PATCH 1/5] mm: rmap: fix cache flush on THP pages Date: Fri, 21 Jan 2022 15:55:11 +0800 Message-Id: <20220121075515.79311-1-songmuchun@bytedance.com> X-Mailer: git-send-email 2.32.0 (Apple Git-132) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The flush_cache_page() only remove a PAGE_SIZE sized range from the cache. However, it does not cover the full pages in a THP except a head page. Replace it with flush_cache_range() to fix this issue. At least, no problems were found due to this. Maybe because the architectures that have virtual indexed caches is less. Fixes: f27176cfc363 ("mm: convert page_mkclean_one() to use page_vma_mapped_walk()") Signed-off-by: Muchun Song --- mm/rmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/rmap.c b/mm/rmap.c index b0fd9dc19eba..65670cb805d6 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -974,7 +974,7 @@ static bool page_mkclean_one(struct page *page, struct vm_area_struct *vma, if (!pmd_dirty(*pmd) && !pmd_write(*pmd)) continue; - flush_cache_page(vma, address, page_to_pfn(page)); + flush_cache_range(vma, address, address + HPAGE_PMD_SIZE); entry = pmdp_invalidate(vma, address, pmd); entry = pmd_wrprotect(entry); entry = pmd_mkclean(entry); -- 2.11.0