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 1477CC4167B for ; Sat, 4 Nov 2023 17:21:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E68B38D00D8; Sat, 4 Nov 2023 13:21:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E18458D000C; Sat, 4 Nov 2023 13:21:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id CE06B8D00D8; Sat, 4 Nov 2023 13:21:06 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id BBE728D000C for ; Sat, 4 Nov 2023 13:21:06 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 96D161CB382 for ; Sat, 4 Nov 2023 17:21:06 +0000 (UTC) X-FDA: 81420937332.30.465D151 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf22.hostedemail.com (Postfix) with ESMTP id 59354C002A for ; Sat, 4 Nov 2023 17:21:04 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=nfkprV5s; spf=none (imf22.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1699118465; a=rsa-sha256; cv=none; b=h2d6eaeEhw1Tr63iexwyfQz8buaPI7jlhCfgW5vV21n2rSdI5BWX20tURrl2IZhAXRqhil Kz6d3UchLfLRVqvzt0dnU/mh59OlPDwNjWSTfkgPMcad4c+PUVTO/oIFLY2sEnohX3KblJ /YWEneOLMaHVsQo9cJ4tW1zl4lOfvI8= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=nfkprV5s; spf=none (imf22.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1699118465; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=iZ7+BGlL3zWN+SVM8jQZNXOzKUk6jFAu7ijAJTmB0CI=; b=n52rsbG50+E+ObIS+S8hCTMdHB+Y8KxDUiDRbvpRJ1bbFUlZLSAAT9CvZXP96C8KgBPT9u HHiv/d3ec3WnxVZtS0h/QpgKqkx5WnSnFfaBTSLmT790rgNhjvXqEcbzYH4S/0pd+Ymzwv NTs1h9YS0ohQyD5oiwQcYKdzJRRQWSE= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=iZ7+BGlL3zWN+SVM8jQZNXOzKUk6jFAu7ijAJTmB0CI=; b=nfkprV5s7Ii9/+5g7i9kwyvnLm 9Gm2ylhNX07Mcj2zN9mgCu9+DxcLZ3UgS3QQxSO4OZZdQy2S7lT4iDB1F+nThKOHHsoZPPe40CYdu 3ALSQt7gJ6IHC0+PgArkPOTU5/RnPjM43yamW8uDNR3wwkqVnSTZFGf2ZJ3N5xgNtDcUrSwgnBaGK mDg0kdZxD6h98WEsw1MS8Qa3XiW2yHZvU31Tzfrs9IeM+YMEK2lw7XD+VMzqaD367KAMcuIuo+hTz Jls2hnyGZQVzlcXPoE1VZlhxf3IfGTv4V3PegJNCPA3q7QJfyzidJjZAPfPEPbpJpp2a0s/Nriv6D JAVjTYSg==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qzKKM-00CZqt-UJ; Sat, 04 Nov 2023 17:20:55 +0000 Date: Sat, 4 Nov 2023 17:20:54 +0000 From: Matthew Wilcox To: Kefeng Wang Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, David Hildenbrand , linux-s390@vger.kernel.org Subject: Re: [PATCH v2 06/10] mm: memory: use a folio in zap_pte_range() Message-ID: References: <20231104035522.2418660-1-wangkefeng.wang@huawei.com> <20231104035522.2418660-7-wangkefeng.wang@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231104035522.2418660-7-wangkefeng.wang@huawei.com> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 59354C002A X-Stat-Signature: uzf9qs4z7cxfaiii691dwgh8ou9rnbtc X-Rspam-User: X-HE-Tag: 1699118464-151253 X-HE-Meta: U2FsdGVkX197iJRDN/SFViBpnYbEaO1GdpLfPUwBxNBPFGwbanwMK88owmzZ38aZnMrrtt5jwOJ2TgjMzfn2/xxRdedZouRNM9r0FutNkCe6B669nUeig8I3ijynzcC/hAUBeXz1+gD+dJLT8woe0Bdk7iw1YCUSIlNuCp3SRZfIHH5AOpMTsfLEbKvFEZrom9H5KOGWhI8aH1lKDXFoADFaN3yO8O65SH7jd8rYZbU9vuUvAeFdifkQEhGarxxSapHAnxCEg0kJGWcbZtszlcO8GjYqvk8DOWpk3pph8wPhgpnjBRt9xIjpoPfTQqoP0l1N8LhWFFHdHvAQkHXCjhJ6mkeTA+c5hMYByFOmTdHhmfo2xHWHOKdQqt7vYQHORVq7XnuPpKuAD3u/KgmxC/X7c4Zeeoq0etyxFHa07rRzJJMZf0foP2VywOdD/QWtCUjy8MPhS04KhGjhl2X487AY1AEf2BF06LJevGi+3eCDLhlLgeRFeHL4KQi9rqq6RbRAnginz+OZs4acOQTbpCysAGpLvjyftb8xp9MP9qyfyFFuJW2m/iFW1fr5JcFxUvbrcNG2NImAw+0fVBMEvQCGupkWFzCc5rlt/QckYptPUX1cZZdK8GfdxbgsdawmE0qrW6AC+gFju8Ld0aaXiGOf3UiszII3Ug8uAYPBBNvB9lg/t2lst2DB+kvcz+cT1+qNRnRgRzxGZjzy/RqO4exYZTiGcm43aThh3c3VSWGLqebiKdyZDzjBJHqoqQBxgLpDlyFv+kS9IpFSkS0mZgh+jhs/u60RFJRchY7o8pCW1lPJmV6vO3oSfDZYw1pFlSxUyUVCM3EPI0rVxCJBJ8kK5ppGXIowC3p82640aJ2tBKMD3RQinXZ9XRi+w92fkTXmFuGYYCFQ31EfdRt0sxVLPzpQJ9IpEoKHAyfvI5nmWeumqqOyAIk6TtcqqB+KITJ6lWo7HbVLTwTv1RA 2LfPiKHB S+HB5M3SK7OKVelcBdwNCzT0zAqiREM91pbcv2nRuOgBTWwBsQoGTZ/vjjJ4TyDGkF6+wR+g35P3f1cRbCjVO60vaEVFVyqwJpR42onj4k310wMg/ka2wM65f9zn1GX4YFSNA+80kqFbTdIx4k4iIZhQEDwbi6YcgiOjnW7xpSF7dVu6bTdnbxinQGQ== 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 Sat, Nov 04, 2023 at 11:55:18AM +0800, Kefeng Wang wrote: > -/* Decides whether we should zap this page with the page pointer specified */ > -static inline bool should_zap_page(struct zap_details *details, struct page *page) > +/* Decides whether we should zap this folio with the folio pointer specified */ > +static inline bool should_zap_page(struct zap_details *details, struct folio *folio) Surely we should rename this to should_zap_folio()? > @@ -1487,10 +1492,10 @@ static unsigned long zap_pte_range(struct mmu_gather *tlb, > * see zap_install_uffd_wp_if_needed(). > */ > WARN_ON_ONCE(!vma_is_anonymous(vma)); > - rss[mm_counter(page)]--; > + rss[mm_counter(&folio->page)]--; > if (is_device_private_entry(entry)) > - page_remove_rmap(page, vma, false); > - put_page(page); > + page_remove_rmap(&folio->page, vma, false); > + folio_put(folio); This is wrong. If we have a PTE-mapped THP, you'll remove the head page N times instead of removing each of N pages. I suspect you're going to collide with Ryan's work by doing this ...