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 883F0C7115C for ; Fri, 20 Jun 2025 12:30:33 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 128DD6B0089; Fri, 20 Jun 2025 08:30:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 100C66B008A; Fri, 20 Jun 2025 08:30:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F31A56B008C; Fri, 20 Jun 2025 08:30:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id E254A6B0089 for ; Fri, 20 Jun 2025 08:30:32 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id A2AC6120873 for ; Fri, 20 Jun 2025 12:30:32 +0000 (UTC) X-FDA: 83575712304.02.82B6C8B Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131]) by imf01.hostedemail.com (Postfix) with ESMTP id 9A33D40015 for ; Fri, 20 Jun 2025 12:30:30 +0000 (UTC) Authentication-Results: imf01.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf01.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750422630; a=rsa-sha256; cv=none; b=G5e+FZ4S3j2PnMe/jyqif0Du8yfY/ac4ICERY73/YsE7/avqrtREqjiPQQCYydclX5qijb iJzUDV6dq+RXOHrn/rjFkqrloggx2QlXV6hd+yVgsZ6uuLoppTcGeXHnjtIuKSVn1XHn1d ncn719DtlTx683i+qXqdJjLHhS1gEEE= ARC-Authentication-Results: i=1; imf01.hostedemail.com; dkim=none; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf01.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.131 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750422630; 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-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+xRkEnbrE5RFf1dLlN9CIDG0QzEYfhmAeDi7ImZWxZk=; b=8cpqFY1vgoNLxO3/22AMgkYXTLNE28CkexoEWFHcSxcAQGsVe321LbBG/5WK2yT/RSzIMs lOwOXf8xvtRewFFxunRwTzrr/MTsbGcRacLy7AjW464EizO6Bu7CGRyw5jRwwovjb8ryxo ZAjDDV3HwVWoGvUSZrAbHGQesDDLL0g= Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [IPv6:2a07:de40:b281:104:10:150:64:97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 665F31F7CF; Fri, 20 Jun 2025 12:30:29 +0000 (UTC) Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id DE45513A99; Fri, 20 Jun 2025 12:30:28 +0000 (UTC) Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167]) by imap1.dmz-prg2.suse.org with ESMTPSA id eH2VM2RUVWjNKAAAD6G6ig (envelope-from ); Fri, 20 Jun 2025 12:30:28 +0000 From: Oscar Salvador To: Andrew Morton Cc: David Hildenbrand , Muchun Song , Peter Xu , Gavin Guo , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Oscar Salvador Subject: [PATCH v2 3/5] mm,hugetlb: Rename anon_rmap to new_anon_folio and make it boolean Date: Fri, 20 Jun 2025 14:30:12 +0200 Message-ID: <20250620123014.29748-4-osalvador@suse.de> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250620123014.29748-1-osalvador@suse.de> References: <20250620123014.29748-1-osalvador@suse.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-Rspamd-Action: no action X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 9A33D40015 X-Stat-Signature: 6psyuy3f9t8xbhu6t834iy6xqbfy4mou X-Rspam-User: X-HE-Tag: 1750422630-323727 X-HE-Meta: U2FsdGVkX1/LkLbLkpiOtyO2kD+4HBqtQR2T80MTSi1v1qPIAy6/tW1RI/FToUERYn94USyCkIXAx5iqVEYj0unhPM7ajG5+q9A9mHjSQw6ah+ryMhRFJLOhQIKJ/9KNzvkc6+JcavLkxaqjzEfb9f0z6+aOiFMV37B/8j/oR72CIJvysuSIbjAj8b+0LOiSlCoBVg5D1yyXeCp1AfKYSZEew0wqnVLatBZYPlBnUGDOYOj4dsVP/YNA26O0l9qPFbk6mwisxicioUA8HIDlRxmQJnIwnEHE2H9e7ZNsvOmM1wTYTF5N59olwd9WRwEth3Esa3ge1YBbmeNZUFld7Ng/ggAe9lzqaaXI3DU/iBIVz3/oBO4Qr1NAXyFtML2v/Jqjz8eWSyJCJ9dtemR0MrYB1Kv972LjmyWfP6mojim4Q2xpBPPuD3dOG8TltWdrD+/dn2erxLCJz/Ujx+7WUwHWLYhD1bfdHSNqzrw3UKt7EL65vWTX+oFABcAad2HMWxQhVHiPWaFWgBEGlyLRpQXqu5yJ+OhpE6n0hij0UMqahwYBKCrnDqNu9QLE42At5k6Tk79YODOsKnKSTwEXyECrF7TQsdzo7hvL1TH3qA6Weh88GVhP9AOpewfkmXCEktHg9Ytw0hcrBFkf/vN5LS2zYURq1ERwq2Sz9udAmp4/vqn1H0FzTp87Ftm5N3z+F7ZWjAlEUx3wnd1vS4LWENlpyzskQJ2iGkKebRbl2rcyJLhO2e0MewwaUnNoeqBqq//w4yOgxnnVLT+6BCnl1P5TT+6Sx08GayzfRe51FNnCDHkuCM/XqJ1OJ+9WU8Yvs7nfAepuJ6l2hzT2vzDN1DyU+PKpHaCuybqsozCiDxejpGVFIkchAKpQGQSvDJgQCd6yFXoKNeo= 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: anon_rmap is used to determine whether the new allocated folio is anonymous. Rename it to something more meaningul like new_anon_folio and make it boolean, as we use it like that. While we are at it, drop 'new_pagecache_folio' as 'new_anon_folio' is enough to check whether we need to restore the consumed reservation. Signed-off-by: Oscar Salvador --- mm/hugetlb.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/mm/hugetlb.c b/mm/hugetlb.c index 1a5f713c1e4c..57bb8b2dce21 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -6427,17 +6427,16 @@ static bool hugetlb_pte_stable(struct hstate *h, struct mm_struct *mm, unsigned static vm_fault_t hugetlb_no_page(struct address_space *mapping, struct vm_fault *vmf) { + u32 hash = hugetlb_fault_mutex_hash(mapping, vmf->pgoff); + bool new_folio, new_anon_folio = false; struct vm_area_struct *vma = vmf->vma; struct mm_struct *mm = vma->vm_mm; struct hstate *h = hstate_vma(vma); vm_fault_t ret = VM_FAULT_SIGBUS; - int anon_rmap = 0; - unsigned long size; + bool folio_locked = true; struct folio *folio; + unsigned long size; pte_t new_pte; - bool new_folio, new_pagecache_folio = false; - u32 hash = hugetlb_fault_mutex_hash(mapping, vmf->pgoff); - bool folio_locked = true; /* * Currently, we are forced to kill the process in the event the @@ -6518,6 +6517,7 @@ static vm_fault_t hugetlb_no_page(struct address_space *mapping, folio_zero_user(folio, vmf->real_address); __folio_mark_uptodate(folio); new_folio = true; + new_anon_folio = !(vma->vm_flags & VM_MAYSHARE); if (vma->vm_flags & VM_MAYSHARE) { int err = hugetlb_add_to_page_cache(folio, mapping, @@ -6536,10 +6536,8 @@ static vm_fault_t hugetlb_no_page(struct address_space *mapping, ret = VM_FAULT_SIGBUS; goto out; } - new_pagecache_folio = true; } else { folio_lock(folio); - anon_rmap = 1; } } else { /* @@ -6588,7 +6586,7 @@ static vm_fault_t hugetlb_no_page(struct address_space *mapping, if (!pte_same(huge_ptep_get(mm, vmf->address, vmf->pte), vmf->orig_pte)) goto backout; - if (anon_rmap) + if (new_anon_folio) hugetlb_add_new_anon_rmap(folio, vma, vmf->address); else hugetlb_add_file_rmap(folio); @@ -6604,7 +6602,7 @@ static vm_fault_t hugetlb_no_page(struct address_space *mapping, hugetlb_count_add(pages_per_huge_page(h), mm); if ((vmf->flags & FAULT_FLAG_WRITE) && !(vma->vm_flags & VM_SHARED)) { /* No need to lock file folios. See comment in hugetlb_fault() */ - if (!anon_rmap) { + if (!new_anon_folio) { folio_locked = false; folio_unlock(folio); } @@ -6640,7 +6638,8 @@ static vm_fault_t hugetlb_no_page(struct address_space *mapping, backout: spin_unlock(vmf->ptl); backout_unlocked: - if (new_folio && !new_pagecache_folio) + /* We only need to restore reservations for private mappings */ + if (new_folio && new_anon_folio) restore_reserve_on_error(h, vma, vmf->address, folio); if (folio_locked) -- 2.50.0