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 D43B3C531DC for ; Fri, 16 Aug 2024 16:28:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 51C218D0090; Fri, 16 Aug 2024 12:28:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 4CB718D007E; Fri, 16 Aug 2024 12:28:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 36CB18D0090; Fri, 16 Aug 2024 12:28:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 1A80D8D007E for ; Fri, 16 Aug 2024 12:28:53 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id 8B910120133 for ; Fri, 16 Aug 2024 16:28:52 +0000 (UTC) X-FDA: 82458642504.05.5680E96 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf04.hostedemail.com (Postfix) with ESMTP id 9720440003 for ; Fri, 16 Aug 2024 16:28:48 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=SSrcELY+; dmarc=none; spf=none (imf04.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1723825675; a=rsa-sha256; cv=none; b=7xEJ2RpZjUi0ZzwdekXFKsF8eufPabL4AUYdqikTBdSwxVw7raRqKGdZ/f0Pmypnw1OVe6 EJ++KmpHHtIr3P7vyxqVZRPxPGNxvdfbKlAqW2IBIvrYBanI/bF4X1tcBsomSOXqk/PTJz odWdjyBVUfEEsm1q7i8tQM2YuVMWffA= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=SSrcELY+; dmarc=none; spf=none (imf04.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1723825675; 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=4yETDy6MieaRsK+UJbUVgFce/NUzNCq0nlWM4sO6NJ0=; b=tup9qYqFi8qhLCbfKG6E1lauTZKmUVbcrKh8G72EDDJRM6P9MgCRJiPKpH8b+gLlClaQvf xwDDsPckiqrmjrE8HoHx7AOTNBxkdTIfRCdZ/AMtsZuipSIaf3mq9SjZ2aMpwYo3mxJ34F X/vhgP777jh+lzihMqICfgalaWpbmkw= 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=4yETDy6MieaRsK+UJbUVgFce/NUzNCq0nlWM4sO6NJ0=; b=SSrcELY+pxuudhB8eAMj5Qb8nK ATzqkMhKMU84KnY4hQFZe/qm3oTvOyZN1lblqSbxv4lcyoXTVPEI5bvacTPXqRGOOz46ysRCzfT6R QJjrcUoeoPFoezmHOxIDTuhKPKBtmFl1Fg2DMjEqrS4bz2bEGTT9jzNC+JzTnSlk9ZNJzwjEQBDPG 7OJ/oW3J3ahPTGgwidi7KCLBQCACNHdvD7loAIWyGiXn44UMLYqFm1AEqTfEPutpzjJ3kxfJvnqLe nzultZDxbJS44Akl7bNgCJIT75yVLhOssFc2bmdMKUxeXDc3t8QAx3k8mu/0CoT+nAb6xKE+5BTbv rTaKhNQw==; Received: from willy by casper.infradead.org with local (Exim 4.97.1 #2 (Red Hat Linux)) id 1sezoi-00000003ois-3CuC; Fri, 16 Aug 2024 16:28:44 +0000 Date: Fri, 16 Aug 2024 17:28:44 +0100 From: Matthew Wilcox To: Usama Arif 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 Subject: Re: [PATCH v3 4/6] mm: Introduce a pageflag for partially mapped folios Message-ID: References: <20240813120328.1275952-1-usamaarif642@gmail.com> <20240813120328.1275952-5-usamaarif642@gmail.com> <7e9e209b-b6b4-485b-ad43-9e1efbd63a7d@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <7e9e209b-b6b4-485b-ad43-9e1efbd63a7d@gmail.com> X-Rspamd-Queue-Id: 9720440003 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: hm8u337tzrrnnnpbiwp1exkhkjg65qi7 X-HE-Tag: 1723825728-800486 X-HE-Meta: U2FsdGVkX1+wjY7UW40fqaVOf+kSfLrKdq/whM5/pfs8agjSm11KMOdOROJ/MvWvvMtAmCvGz5emg9+B1Pa3ENfP+k/qOTFhk54qVAWEBsOEIQ1RY27sC35O1YZiPJriY1o+P/Q4pyjuGybh36QU3XUmfmsULsz8mNpWg1nbJ/L8FBrWhBpdxbX0/HT0dFxCzw+xQX2APJ1ww1kxjVNg05NdUuj7E7kG/CQRBU/85g7appItnqiSfN2T+uzZYnvnitGdceuayyLR/6idfg8r6H4MveMCFGInmAIHhJ2xi6EAjdwx8YSltTKbM4Qqnk/bNKHB/wuALIOXV6tfur+si6q7c9mIaatl1+NqjfU+dRlss+4FfJqZM14C8e9SlD5tv3fzryIpxJEGd8LktCyQM02789BiOAx9WqdMZNFZ2VnGyMolKo7WxWeBst/FjBnmf6WQEhdZXSAFdRrsZpiITmVv7zF3JRQ+pin+V1Tywgp91XRAWkv46LY8GFNGQiTliDdhnXQJbj07xPfjkbuCbwUJS2qZi1pG6QRlJL8qqY/swf9uqpllGmuw7Vw3YJL2GJaEDxnd5NEb+OB01R94dBUHkl3nFYPf+1uRXCoaeBQh3pEokd5nl7YzeJYogxqSF1ve4JGuZwmD4Scn/mFMPqITMGEpry1UqDH+IRTLo6EMOsS8Y8JXGHw3vH6RVn+wOD8Ky3xoPrUAg4xWeL/+uipsszlGfvHINvlJhTNupvyOGyBdlVapRp3dCA+Bdt7O1uQX/P//pctdOyGgEsRkyR/3l90KB5/6ToBjR6c0A0Rtq3Cdz8RClsrRHEfUG+sUCymNW+I4Afu0c5AnvK62w7zynxW9bjGSjqebHzFxWdo6jIeVCYg8q6Mr65LYjM/Peu5ddd4hWju/8twE4z/8LYi1jYWrVhepmmOoQi+lBD+AUyOEPVRKur6WaRWPxnkcXy00RQM2C1BCeufcO1d OjsVFNmM e2aEJR9svMolaEbFXYEKvljuquPSfAG4s/UmB3621hrUsbHHYN/Y1StNhSMoW92978nZuB1jQUxkEHL8kLC/oy1apaoJiWTzKM3zEATGqOFYeBtAwVS6WLF4jf79wJkRglnSLVHyRANBnKYAstp0/PVFGzzBKpb+0O/luJ43XLwWjhUDUPl40rgws2z00RwnhrEDn2XR+eJEAjVRleJ9up6VcLw== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000003, 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 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,