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 4D09CEE49A4 for ; Mon, 21 Aug 2023 01:14:04 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6C11A8D0002; Sun, 20 Aug 2023 21:14:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 672098D0001; Sun, 20 Aug 2023 21:14:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5123D8D0002; Sun, 20 Aug 2023 21:14:03 -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 3CD238D0001 for ; Sun, 20 Aug 2023 21:14:03 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 08F5F12030C for ; Mon, 21 Aug 2023 01:14:03 +0000 (UTC) X-FDA: 81146340366.20.6295D68 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf11.hostedemail.com (Postfix) with ESMTP id CF7E54000F for ; Mon, 21 Aug 2023 01:14:00 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Ls26Svnr; spf=pass (imf11.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1692580441; 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=KBMy+oo3AOKwSxPpgU96xyHXBBu1SbBgI380JczmmIY=; b=S4vPYpXBZcE+TTjBcYWAcmwkSq4AzvxHJcdZu1gcuElXWzfQt14Lfb36SLFVQuFN/AoqNH RSnGwBuk6J1Hy/KWjD5pXDFgTnz4ikmsq7byY8Qkz2uvDMSyZ48eUuFyY6EaH0H9byDjQJ FltuHrIj6IVY6CqbNJv3IOjhWODu2AY= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=Ls26Svnr; spf=pass (imf11.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=none) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1692580441; a=rsa-sha256; cv=none; b=kTEgRorAuyzcK0jKpxy5K2d3XKyIKKJUGzyyd7ftl3zW6g6r3ybFbUCl9gLqemjBGSOzXN PTUGa28v3lsLpReeXx57qD03mYG03/RRI65tkN3vYqk3raHXoq4RZaHorVqBKtt4bptEeP pG8sBNIo2MOGx+PjNg+clB7dM89vtyc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1692580440; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=KBMy+oo3AOKwSxPpgU96xyHXBBu1SbBgI380JczmmIY=; b=Ls26SvnrLhjc9vRttr3MSlV1RXYwOwd6ZsPdx/WRR3KO2OBKUjDsoyvBTEt4sPvy83NsKX xsnAQjLRHyTZJwXWhCcTOPvQl5miCPxcRSB2hS0ECQ+0PQA+jqgSjeNZeTxJOGqlqZ9pVF tMalYBVemzAIWbPj0ztCHAQ8nVFzqPs= Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-624-NEiOY5zaN5yxZY6muVSWuw-1; Sun, 20 Aug 2023 21:13:58 -0400 X-MC-Unique: NEiOY5zaN5yxZY6muVSWuw-1 Received: by mail-qv1-f72.google.com with SMTP id 6a1803df08f44-6472b47d54bso10515896d6.0 for ; Sun, 20 Aug 2023 18:13:58 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692580438; x=1693185238; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=KBMy+oo3AOKwSxPpgU96xyHXBBu1SbBgI380JczmmIY=; b=e9TZcyEhJv45Lfbzj6eSry4eBMTb2F6SXLL63/GJqfbJA7izdnaiPbggzMCytpWejy jn46t53cd0rl+UyY0O0/QNnLY8JRpUaHYZlCxvsUAfUlv1Bq3yad3DxyYqlgjIzm8d57 fWyYC7W7gm1y8U0yIx0m4xzWFppS8L9kJxOfsKiEEJoLd4vFX6qoR55M/c8F2ZZMdduX zxYQY2jhK7W1ELM7IDjevcNlbIQ0tueofMJvyLGftcWcfVtIdu7oGU78Bh3HEirMDz1o 8gZoqVYD0A1pYj+ZvOpKZPdNgqBK3ojfEINaKFEXYE/5pakmcwBQfKghFpF6kaLjx7A0 ZdeQ== X-Gm-Message-State: AOJu0Yy0NJl7TIURfVEsfBcUgtJH79Zo/1OLsM+/2Gn9Z3nQeXLXyw8m E6xXG/FrKhvKIsMpT1TkCGKGZijo6WZzoE23VqSPUdVcBg8dqBUg7R0ErYWwe9LRwOgsgeP89xS jeajNkCndAWs= X-Received: by 2002:ad4:5ba4:0:b0:63c:f852:aa3a with SMTP id 4-20020ad45ba4000000b0063cf852aa3amr7066774qvq.4.1692580438232; Sun, 20 Aug 2023 18:13:58 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE83FB4TY2zyV41hh07rpKvx6ICHUmv9wlI7ofmsjarLdBFlA4wp2hip7TbUZpeOJv5v32R3g== X-Received: by 2002:ad4:5ba4:0:b0:63c:f852:aa3a with SMTP id 4-20020ad45ba4000000b0063cf852aa3amr7066732qvq.4.1692580436859; Sun, 20 Aug 2023 18:13:56 -0700 (PDT) Received: from x1n (cpe5c7695f3aee0-cm5c7695f3aede.cpe.net.cable.rogers.com. [99.254.144.39]) by smtp.gmail.com with ESMTPSA id u18-20020a0cf1d2000000b006490c2624basm2545336qvl.47.2023.08.20.18.13.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 20 Aug 2023 18:13:56 -0700 (PDT) Date: Sun, 20 Aug 2023 21:13:55 -0400 From: Peter Xu To: Matthew Wilcox Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Yang Shi , Mike Kravetz , David Hildenbrand , "Kirill A . Shutemov" , Hugh Dickins , Andrew Morton Subject: Re: [PATCH] mm: Wire up tail page poisoning over ->mappings Message-ID: References: <20230815210659.430010-1-peterx@redhat.com> MIME-Version: 1.0 In-Reply-To: X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Rspamd-Queue-Id: CF7E54000F X-Rspam-User: X-Stat-Signature: miqxgk5yheuf6p1rhttmxjweaanakgn3 X-Rspamd-Server: rspam01 X-HE-Tag: 1692580440-337522 X-HE-Meta: U2FsdGVkX1/Dp6gvtNyMTfIlmQwldJxE9WDGaOm5wq9Ck/rnR6mmy9xoSTtH0fy6qDapUYXUKOuaK5AK+AFz3CQZiuglAz+2zQK7C/1YbDo4a+rhmMNADA6BENZTSEnXI8dXWQgWWEmgYeYX/VOx/WGoRcIprSWDs8pkg3YshGHJMpfyWLYEInEZMSQeSOVQlxewvsgL9f57jO2uHX0WL91rTQ05AF5Klt9bDCkrtp45d+AIGAUVK/66XzEqSm//tSnuqCMa3RwTnxZ3qoHL517J11eEiFVBIkFiW5gyygxk000OjPzObIV006hwj/2TbIrr1AszDNW4lJmP3ZVs8mvSfwDnB8Ki+3IqC67PEw1rIf0NE8/C7MRF9vRhC3jGt4R0+JU4A+bFDAeX/6UHsZWAbiwTHdh4R46SocMPi3l5BIPZ/TEWu96L6kOeYHv4XzK7tsAg5pWqrKenj2cNmNt6prz53cl2Nmtg7YFHGwq7tsHev+RG81LdndxoFgHJ5u+GPIySc/gVMSdhBAeM5imnGclbaPgIV0E94zkQfi+HMZSe65482BFC9APEz54Mphr9TSiKdk9e5tigJTo1zTjKv8JrHacHuzb6u2Cbaft6blociJpbGOtQ3VWVPMtiMllSUYeNMERHTFhq/WrJw7uRJknwXnQbP21rjnsVKOJ0Rz0wZXIqreHFW2tFd1nfjhCbyYZkYie8KzQe5QUui5A7IJP+zZMZPtfymGCa54pgjrXhrCDdXe/WT1udezUNqO8HTw7Me/VpmyC4C4UR3Yqec+3/vsUgHnDx20WmWRYx5tyc5BX9p82fTYTPBPEh5fIo718dGXVEOApL15gbnPxg5t3eaxoUlgPMZKKfmB8l39G4gajghex0vhPuYtuHzSMDQeQhYqkHymedc8LpzCeEerHIJHYnUdRutWxw4Str2siQE9TKmvT+PG0dFiNiQohUkvMiBkz5W6HSmx+ z+wKTZlV ATmuKyb6yXT4AjQL94t0vykkm0M4xTDTI74xEQE/aInBZG7T3aJP7VLGlReAtE3su9Eqwt29qVFf/3mSiKJvB6hKfRR21PcNvIQ/A/cIe0tqNXzbgxDQ/ECCYxqK4i9Q4JnIl+mgCtKc7oNVtqBBq1PBAov8QrQyoavZXFTnyt1Z33U23pAvoAtA921xtW0F2fUYIpBi8QCWP2g2M+3L2q74apo10sMupkXvQ5qFH8HsjRNQydUqdz65X7osKhvuLZFm4kpCUS/ypX1RB6Nh7xZ/+c0N3Sl53LWPZ8SmzQFEN9RapcerwEaNuRfviYXDPtliCQtt2HKHrdenJt5pgo2sPZwN2L4an8qzGz3M+0KzScYhRZyZy+PCyaT6Kz8PFpOfIq2mRSxylXtVSrvYWiwHru5qfw1Epfknjr3Bcf3arzEX1sUDsHUwEWOJ5i+BDfDYtCsDiqZmzYe+TmEXOmhEjCHp7g5Q442Mn 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 Fri, Aug 18, 2023 at 11:14:28PM +0100, Matthew Wilcox wrote: > On Tue, Aug 15, 2023 at 05:06:59PM -0400, Peter Xu wrote: > > I split this out from another rfc series. Removed RFC tag because it > > wasn't for this patch but for the documentation updates. I'll post the rfc > > part alone. Comments welcomed, thanks. > > I still hate it, as I explained here: I still prefer it be merged. > > https://lore.kernel.org/linux-mm/ZNp7yUgUrIpILnXu@casper.infradead.org/ https://lore.kernel.org/linux-mm/ZNqFv0AwkfDKExiw@x1n/#t Firstly, I've answered and you didn't follow that up. This is not identical to that version, it added one more change to remove the other hard coded "2" > > > > + * When the tail page's mapping field reused, it'll be exempted from > > > + * ->mapping poisoning and checks. Also see the macro TAIL_MAPPING. > > > + */ > > > +#define TAIL_MAPPING_REUSED_MAX (2) > > > > More importantly, I think this is over-parametrisation. If you start to > > use extra fields in struct folio, just change the code in page_alloc.c > > directly. Change the hard-coded "2"s in different functions? Can you kindly explain why can't we just have a macro to help? Setting tail mapping for tail 1/2 is even wrong, which part of this patch fixes: @@ -428,7 +428,8 @@ static inline void prep_compound_tail(struct page *head, int tail_idx) { struct page *p = head + tail_idx; - p->mapping = TAIL_MAPPING; + if (tail_idx > TAIL_MAPPING_REUSED_MAX) + p->mapping = TAIL_MAPPING; set_compound_head(p, head); set_page_private(p, 0); } Do you mean you prefer me to add one more hard-coded "2" and "just boost it when it's needed"? Thanks, -- Peter Xu