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 AE910C531DC for ; Fri, 16 Aug 2024 16:08:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 35F996B033D; Fri, 16 Aug 2024 12:08:48 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 30FD16B0342; Fri, 16 Aug 2024 12:08:48 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1D8576B0344; Fri, 16 Aug 2024 12:08:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id EDF9E6B033D for ; Fri, 16 Aug 2024 12:08:47 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 8931D16015B for ; Fri, 16 Aug 2024 16:08:41 +0000 (UTC) X-FDA: 82458591642.27.E97EC68 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) by imf14.hostedemail.com (Postfix) with ESMTP id 29BB1100027 for ; Fri, 16 Aug 2024 16:08:38 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PuDKQgrv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723824458; a=rsa-sha256; cv=none; b=yIMx4jBp2GM+zH0Bwzd43YSTzrTPVa1HXQQIlQJKyjK47L9Ren1tjBMSgUn//uzw5RDcHM k043plUkWRXxmsO6u++otK/S0xSb2l7DydHPYCVC6gIds0l1Bjcy3VgoJCVfkTtDOOLv85 QohyGSuZlx3Ri1V2qrrICxUF5w/ebCo= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PuDKQgrv; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf14.hostedemail.com: domain of usamaarif642@gmail.com designates 209.85.128.48 as permitted sender) smtp.mailfrom=usamaarif642@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723824458; 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=BoQuglTR2707KDAr9BZEhvLM8HQTGX4jqaDuOUHIqAU=; b=3b8CoQUuXsnMvZkJplH/pL8SKtOxNN7HAlTkRPn9P0GkXjqFjWLbWLikFx9AG4AwY1o9d4 drJe6e+o9FT99f83GFARWoXHZg9TVOISZkoc5pU4CKMRvhkwIY0ROPvZ+rTaJ6dZqkubfv zWNuWjZekV75vhcnbL5FsqwIIOnWIJ0= Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-42817bee9e8so14940685e9.3 for ; Fri, 16 Aug 2024 09:08:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723824517; x=1724429317; 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=BoQuglTR2707KDAr9BZEhvLM8HQTGX4jqaDuOUHIqAU=; b=PuDKQgrvapPVD27Mhwx/x7UIDklkqS1FZyw/tuUyI3WUNIMLOGBxEqVO2JxgVZpuqF EzyN/RQ6C051/ONatgQHckZRMTzDZPWiKa5g1tIgyK1NKIEbBz4UN5Re4CGKKYXuvkwc YUq0raeIS9ausmsp86HVWXdIAzM7cRH+jE6CMGTowlXbAE/adlqRvQg5wmA+3EV62VAS iaHUG14feB0qlCjuhQt0u6JjhOkuhxKftU4TMo+E5fjCzwa60s9BXf08CJqTIeTx6yxn Kc4i9oqffOL2YgkopSZ5p7Ssm7docj7NiuAmJdMLVJG8yPE2KalyTThkikyPqW3Ffv5A o7FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723824517; x=1724429317; 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=BoQuglTR2707KDAr9BZEhvLM8HQTGX4jqaDuOUHIqAU=; b=ehu2U8UwRf+Y7LGJyJgI1yyitedVqD/rCRMyQVYVe0g5QYnJtG8jIAsku+fgHPviXq Ybb6VUkCTEcLtoEEPtl6/92yP6SitHu/kH2NmRUf/zcNW9eOFH5H1ns+8P9bpePqyLgh SJmKIEfH+27CyvE79MQuOPFBTWcrWo/SGY1QkWIkKGesn/37eoc15D53ompJx3MB1J0a WqFR6U0y5sOuFiT5ZwbcP5H8DsWmLo4MpvKalz+9z3vSjhDA++z1QPxRHtgzZhNlu8L9 fw3vBV2sh4vaar0apM5pJ7wZdSJ//Z8pzJjrAMMB/b2Mjks9KsFqnXbb8gzBeXUL7rJ3 nknQ== X-Forwarded-Encrypted: i=1; AJvYcCU6EzLFBEyAXWveLAD3y+hy8svBlEaEVVr0cQrYy/LLjk8krr/lbMD+Is+PTbsxR3TSFH1zphtVQDlfRpiohyEtGCk= X-Gm-Message-State: AOJu0YzOXqp6/cvyU09zExmw+s/Xl4Gu0YBfXXzhXpLc+nVacz5bK0Qo w8rhW7/Np0H8ne7jtQ5SXEBPe1xhe9VfW/g6HlbyiejIn2kKfwZC X-Google-Smtp-Source: AGHT+IG2Y4HdfNYzOBBlcW0Tnko8Gn/wnNXv/YCdNorvpUhvEhG2/993oKzszSutxRsnnl0xLO+qpw== X-Received: by 2002:a05:600c:470a:b0:428:3b5:816b with SMTP id 5b1f17b1804b1-429ed785f71mr21260095e9.3.1723824516848; Fri, 16 Aug 2024 09:08:36 -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 ffacd0b85a97d-3718985a6d1sm3956387f8f.57.2024.08.16.09.08.35 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 16 Aug 2024 09:08:36 -0700 (PDT) Message-ID: <7e9e209b-b6b4-485b-ad43-9e1efbd63a7d@gmail.com> Date: Fri, 16 Aug 2024 17:08:35 +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> Content-Language: en-US From: Usama Arif In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 29BB1100027 X-Stat-Signature: z5sj4uti1roc7ouichmn98g4knog63rt X-Rspam-User: X-HE-Tag: 1723824518-994816 X-HE-Meta: U2FsdGVkX1/RQSPr7C1ccV4tBA0Gpp1H1fypLG+Csx6VAeDo+b417kG2it02TC3erOdEWqHz/ggYIx2qlLF1A+c0UO1M8XbPSGsAUIg804S4rGq5Gtx04gfu0LSNPp/FHEJrK9ynhsLeKyyXoS/pudMJfkI7evqpqeuQM7VogPlZjV9271YGtpJbOu1lYzZwag1NFr6kUog1CxDFEkMB2iy3OH4Mu2T+FfXC8fWuJN1JlG6/u85RovxsgKkF3teTqhYA5UyLj2wyHpAv6OQUckHj+fWB9xm+YK9IuZGRz+2xyU5UwcDD2AN3c6dh653Mpn5B+aDCKVdP8h1/I6gDJQKfRRTVMZFRz6Ylv6G0YJZTDgs1cP2mg+XMVmhdJPj80/g9+h5Ce5ddwSx+hMvSIPcbY9lZHYP8hwqSweNpF4UKwzvanKhj6D3ea6YU+rH0b2xuc7glIpfOeRCjxSqFtPtKzEG8g3saf+FyKQzKanC+0F0TYdU9tGdKf9CVbYi9wVdifqBLQHKzFLMvuC4yGm1NsKDZP4ClUIoxflXvTBUBJ3KxYBJlq1MbwN/eVzkTfXuFX0aRt8fnUZ+IeU4yt5knB1xiiy4AsYLQnGSVDMy9MfXV851oKbpQMZIbAllM4P/WZ9X/LuCVp+VlvVV2NlDBdjjyt6aoSCy9Orlvjo4XX/OzehuUyVjaVoiW5N7X8ZwWsz8tGLi9s3A0ztyM1gO3RcixTrBCa6SDwyz2xV5J4P1JlB1y4OFFUQ3lPvSkLzkBXLz8uTBuUoH31jqEKbB9V+jmnUfc+yzfkP4DDCbMXl+UQP0deSKcua5st4MRaE9pNOpfFpR4pq+jjnaERNhcZ4tDXeIXtlyzVIm29ahdItzd5hEB65MBXa+b5A0L0VVpl3Wk09DIAGNmxZtCvZri7fVjvdlXOFknv1nmGDo5xyaqEtIY8titRNobnP51l8ARiphr/Xrpp1nfdtS FTTAW/bw ODxqvWRY17o/o+acGll7IhcQldrfciAFyOmdMw4F9qpDpjOtLsL8u21yqlg0maGwvPHjJPFfZNAJA7fIm4MHFVOKN0ocU/k/6vuuzU9qZ/m3MzNfR0xJCK65yQj0c5d/WS8y3kOX/N8V0HWDEmIvKVDNBhZdXLwcHkrQOso1A1xM8zvO7wpBw0XffObyffa7cqUnUZa5JouzSjgB16jcSwYCDh9MnDoR2AJ+aS6EcyM1+4ZWmMFNy/2+88bw8aA5cUKcB8uS/qKN5Ridl3/FoxVHLOVxaaeJtN7Lu6ytcB7AzTqnhiyKQVwzKP/w2sK5d6lN8oeNJCobqDNR2UYAxpd5KqySYpz0uciF61auxlXyBaPdwqA8DHdoExwpTo6bVmBbIBcxXau6lY9nzfk+isVW6opc4OqWFNnOzG1RhQWHcXC4= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000044, 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 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. >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. 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 have added the next few lines of the patch below: 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 */ }; #define PAGEFLAGS_MASK ((1UL << NR_PAGEFLAGS) - 1) @@ -861,8 +862,10 @@ static inline void ClearPageCompound(struct page *page) ClearPageHead(page); } FOLIO_FLAG(large_rmappable, FOLIO_SECOND_PAGE) +FOLIO_FLAG(partially_mapped, FOLIO_SECOND_PAGE) #else FOLIO_FLAG_FALSE(large_rmappable)