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 C209AC531DC for ; Fri, 16 Aug 2024 16:41:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5C15F8D0092; Fri, 16 Aug 2024 12:41:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 570C18D007E; Fri, 16 Aug 2024 12:41:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 438E08D0092; Fri, 16 Aug 2024 12:41:35 -0400 (EDT) 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 246BC8D007E for ; Fri, 16 Aug 2024 12:41:35 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id C3BF6140152 for ; Fri, 16 Aug 2024 16:41:34 +0000 (UTC) X-FDA: 82458674508.13.F4EAA4E Received: from mail-lf1-f45.google.com (mail-lf1-f45.google.com [209.85.167.45]) by imf23.hostedemail.com (Postfix) with ESMTP id A278514001E for ; Fri, 16 Aug 2024 16:41:32 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=b61Jgdxg; spf=pass (imf23.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.167.45 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723826394; 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:dkim-signature; bh=qE6cA2BiIxlbldsSPiTQqUrw5yO3Tuqe7RWvm18DClQ=; b=f0KbhgN6/GS+OTwLliKjPLuXNMO1Ok4wtUn+vR3PZo5IJwuBsMydnkfUaZTYhBQiiWspwq 7TkqH6WWTpZHICEs5Z0/2RKFUiU21bknz76AkWe5I7YCPdlIqjOoR1rRnw2GNGcPyLOSgO qnCeYJIlPEX6sAicMOuCtw9yzE87N0Y= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=b61Jgdxg; spf=pass (imf23.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.167.45 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com; dmarc=pass (policy=none) header.from=gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723826394; a=rsa-sha256; cv=none; b=IS5MJPMRIRJIgKaezyRQzRwUrX+5RcjcrGR4i98L89ICDC5umREvWY06vQjP+LG7IRDuX5 mW+QFhj2snf+b0kFtnHt9pxO6qO5DddtVQOpjFdqPmSK8Xas912S54adeDzrV2TWauGIw7 v02OI3kVCBfTJn6Le7h+2DsMeWhnzM4= Received: by mail-lf1-f45.google.com with SMTP id 2adb3069b0e04-52f0277daa5so2946908e87.0 for ; Fri, 16 Aug 2024 09:41:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723826491; x=1724431291; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=qE6cA2BiIxlbldsSPiTQqUrw5yO3Tuqe7RWvm18DClQ=; b=b61JgdxgYE/2Mjjo8BXKTS6F4w+FoD3cauz0vKXnLP/TwNF1e19OhePXvciQo+Lb5d zlX8STSIwZv7TcR7sTPzxfYapzTGzgStwGQg3dMyySrMg3YQAqCenClr493ZpXp2MFyK jgikOEQCwKMWydtVnQNHIDVu2HtZrJn4Ozp6+QBwS9WKybTqudRdBHNuM5/8APeCoiUa JLgVPAFZIbM72OCghNnxhT9NJAOWFboclwvBJZRduFdlxdtxLdG2BBgc3FtQj+ibmvV1 kdPg+9GRt8UpXaopePRCZfJ59rVH/ZYOS9mBKZb61pepzIMU8EdnZFAoNNP78Ppb1EkR 0i+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723826491; x=1724431291; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=qE6cA2BiIxlbldsSPiTQqUrw5yO3Tuqe7RWvm18DClQ=; b=FBprN6Z++1sTT6sLQ2vYNPPG1THOQ1efH4UVSFBV2dLkFSB/KDjsS8/AXyLfEkP0+O oLHBlIYHjmy+q0nzmiB4283O0ChX9SG+2S6CbopxWqU0AgvgF/g/A/8SiAtgmRTV5tU1 1fn/y0A2xcq3fXyjORCm1hLInEEMZCsF3AMUpK/4p/QKorg5fkfbRthTXtk4tON7exMS TYFiJbE6tBN2f2nc6bYyE4+6WL1Co3o/ALFV50eESKZRO2lZrYFZOH5mZtYY2RM3zDef FWfDzUt9OxTPxHTI/MFMwqWOSTqurbQ4jpI59T6so6RdYy8IbLdbQIipdtojmIvoxvTR z5CQ== X-Forwarded-Encrypted: i=1; AJvYcCWdf9bX/EYseRZk9o74nPbOlETqTSqrjSaq09ZgxZl8DKMGTKBj2bd0/+JfXOc7Hy21hMrtzUcwfMIoBIskVUc7lBE= X-Gm-Message-State: AOJu0Yw6hra35GGe5EjwAf7YIi+e+iHuxQyoJ6zepjAexLd5LV194wvr yekFhluqfll+8LlhuHZP4+4DAIdxXws8SU2YIm39Y8njNpFU4NVC X-Google-Smtp-Source: AGHT+IErM6iIeQz6oNXeFWj28KSZ7kqw6rWe2ylu2if2FZyJGV/PBENVvmHmDB7O75KY3oLQcrdBmQ== X-Received: by 2002:a05:6512:3045:b0:52b:9c8a:734f with SMTP id 2adb3069b0e04-5331c6e54a6mr2749231e87.50.1723826490101; Fri, 16 Aug 2024 09:41:30 -0700 (PDT) Received: from ?IPV6:2a02:6b6f:e750:7600:c5:51ce:2b5:970b? ([2a02:6b6f:e750:7600:c5:51ce:2b5:970b]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-429ed79d9a7sm26703425e9.39.2024.08.16.09.41.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Aug 2024 09:41:29 -0700 (PDT) Message-ID: <8fb9915b-73a1-4e39-bb30-c1c21b1b7650@gmail.com> Date: Fri, 16 Aug 2024 17:41:29 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 4/6] mm: Introduce a pageflag for partially mapped folios To: Matthew Wilcox Cc: akpm@linux-foundation.org, linux-mm@kvack.org, hannes@cmpxchg.org, riel@surriel.com, shakeel.butt@linux.dev, roman.gushchin@linux.dev, yuzhao@google.com, david@redhat.com, baohua@kernel.org, ryan.roberts@arm.com, rppt@kernel.org, cerasuolodomenico@gmail.com, corbet@lwn.net, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, kernel-team@meta.com References: <20240813120328.1275952-1-usamaarif642@gmail.com> <20240813120328.1275952-5-usamaarif642@gmail.com> <7e9e209b-b6b4-485b-ad43-9e1efbd63a7d@gmail.com> Content-Language: en-US From: Usama Arif In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: A278514001E X-Stat-Signature: r553e1e3yaiqopodwbkrcgsjwyc5dzir X-Rspam-User: X-HE-Tag: 1723826492-357020 X-HE-Meta: U2FsdGVkX1/ekuyH4Y13eopVtEsNg+RTIy20az12gPsgos3zZdFZQWv1ASsB3b2rpZTxE5k6woQmWGuD6Df0K0dqD/ptC7XpQnIq1WalE/zqfZYywBnnxI1KEOwNTQd80HGinqblk3Wppx+8iHt0WcjY0J5wkyfXxXIg3N0csZHBcrLYDFMPxP3aoXo24ghMn67NQrimGuHKccysVFQivo9h2F0ioP2NOLdhQz3QfLSdI9vZ/ZBvYIy4zI4zpY87qrQ8dwjoyVFgSE10B8CfglJAhCRobb9FIkC+PSnJYGq6TBytOH7JooS3EewFWaMVZicKks+K/YDL05Trpn/cNkuQowl4gNG4+y9l7ejSvFW4FqRz+7D+n1LYjZ2oitB6lCXz6FgShhr/cXN24Qz6ijVcQ80NtmjMM3xIvM5dmYaNzXqhxWgCktPQgm8dzP77crNGlOfkKque6WPtOSdoOPExpeprz6ufal3TeG4GymVlYCPAyyOkiUSAkC+PbH3wuz91cacaM/nficYqzNyEspW/YjPp5rK0OTjP7IaOX5ZjuNs08uWbDgq3oIxLKYGyyMpFe1/alonXVJv8IgT439GKOODRx9mrVHE4Whsi+gkHv5urqJKSCBvIhwl3Afm0FD+K/bXP6XyFK5JZqm7zm5llpFX+VPlLv3AuuMYzN1wpp9F6DA0rrJ1l3I5m1IjF7h+lEfOv5FlJSd5GClW1c2pGvcjAfL4dp35tn+5YNgOKMlFB7y7sZ/Avv6XAKSwb/LRnS/x8vBvLiaQ+8EkeeuErZYfIaxkN2T2T0ut6pL1YCi3HmWbKs2HRCmodjQ17mZxritnCHHgzTif1DZ2NZG6oUDp0IydRaoC8NPeo1E7JfAYsyE0LjW1fEeg5P1ToGR2Bi1GzkwOECWFoMbq2vIt7BPmlmGmlDH+KpTUxkKpQQ/cAmWmy1tNAoE6FYAPxWbJCeUjiWSvQD3ZmaDU GhJywZJu HX/ieiqTqOlhQIAEqmA9ZhyfT0bDi31GtxnJ/xkARDAMaLBNPjntqQOBuO7g9clRH3C5LVycFBYC4cRH+AKzFLtWiGRarlykkPpEntj0AwkHqTR73kEl+4y0yZ9V4rg1mVup8026nCj6y4XPFvbZe2uWSrjLOGXFOB24WixFT4e99tByJOqX7ZM4eTBZVeblrtsss6wPdzH2KukTs1UGIxBOLfsomebUU+NbeU3A/voxi55yabj44Tz6Jrsh6SrWm90JYnodfqrKqQf6KwtBDFUD04Py4Kw4N9f/g1WyAHdKJIfwP15CS1NZ/6Rf02fNqNkIGsSfj4meTkYXaGzgJLWFgHJC1Q6pc8mf4JoQYF2JmE5WcVprOgR9T5pRg4dL4M7rfN+fMD4aDS9WpYXUJFB0rPXG3/fZzlrly5Zw7lz1loNI= X-Bogosity: Ham, tests=bogofilter, spamicity=0.019248, 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 16/08/2024 17:28, Matthew Wilcox wrote: > On Fri, Aug 16, 2024 at 05:08:35PM +0100, Usama Arif wrote: >> On 16/08/2024 16:44, Matthew Wilcox wrote: >>> On Tue, Aug 13, 2024 at 01:02:47PM +0100, Usama Arif wrote: >>>> diff --git a/include/linux/page-flags.h b/include/linux/page-flags.h >>>> index a0a29bd092f8..cecc1bad7910 100644 >>>> --- a/include/linux/page-flags.h >>>> +++ b/include/linux/page-flags.h >>>> @@ -182,6 +182,7 @@ enum pageflags { >>>> /* At least one page in this folio has the hwpoison flag set */ >>>> PG_has_hwpoisoned = PG_active, >>>> PG_large_rmappable = PG_workingset, /* anon or file-backed */ >>>> + PG_partially_mapped, /* was identified to be partially mapped */ >>> >>> No, you can't do this. You have to be really careful when reusing page >>> flags, you can't just take the next one. What made you think it would >>> be this easy? >>> >>> I'd suggest using PG_reclaim. You also need to add PG_partially_mapped >>> to PAGE_FLAGS_SECOND. You might get away without that if you're >>> guaranteeing it'll always be clear when you free the folio; I don't >>> understand this series so I don't know if that's true or not. >> >> I am really not sure what the issue is over here. > > You've made the code more fragile. It might happen to work today, but > you've either done something which is subtly broken today, or might > break tomorrow when somebody else rearranges the flags without knowing > about your fragility. > >> >From what I see, bits 0-7 of folio->_flags_1 are used for storing folio order, bit 8 for PG_has_hwpoisoned and bit 9 for PG_large_rmappable. >> Bits 10 and above of folio->_flags_1 are not used any anywhere in the kernel. I am not reusing a page flag of folio->_flags_1, just taking an unused one. > > No, wrong. PG_anon_exclusive is used on every page, including tail > pages, and that's above bit 10. > >> Please have a look at the next few lines of the patch. I have defined the functions as FOLIO_FLAG(partially_mapped, FOLIO_SECOND_PAGE). I believe thats what you are saying in your second paragraph? >> I am not sure what you meant by using PG_reclaim. > > I mean: > > - PG_usama_new_thing, > + PG_usama_new_thing = PG_reclaim, > Ah ok, Thanks. The flags below PG_reclaim are either marked as PF_ANY or are arch dependent. So eventhough they might not be used currently for _flags_1, they could be in the future. I will use PG_partially_mapped = PG_reclaim in the next revision. Thanks