From nobody Thu Dec 18 20:22:26 2025 Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 33BBC157A5A for ; Wed, 18 Dec 2024 13:05:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.181 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734527116; cv=none; b=b/wC+ClF08e33iShQIJHI9N+XLDLGM4hd9Su1i89MsB9wwrs4gginl+jNvFeqSND9+6BI99zCAcXEUsI3WKFali5h6yMnpt8bIwKYQKE2TCwzOLiZukMHDfvgk6ajj14fV3sIgGcpVfBvYun+8tiN8GMg+6H+pzyIN5KwwZphw8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1734527116; c=relaxed/simple; bh=Mv4aqDFHPoE9y9SKG/iLfdxgHrDObWP1H6FMZyzK5gU=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=eI60uxc20NPz3alZ0uqLzGpgJXNMtHcacq7Tlyp9wgAiGNLF5z5z87+q7ss1T2gMrByaqQ6eX/MDSzTIeZXfAzbhxCvSJPGAM+gX00LKbk6sjq+nAxD7LCtHfVr9EHnJmDvuCqxmv1TAcrNK1+C9409M8DA7dSomQqjrcErO3Lc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com; spf=pass smtp.mailfrom=bytedance.com; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b=kvyLDT3V; arc=none smtp.client-ip=209.85.214.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=bytedance.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=bytedance.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=bytedance.com header.i=@bytedance.com header.b="kvyLDT3V" Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-218c8aca5f1so23390275ad.0 for ; Wed, 18 Dec 2024 05:05:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1734527114; x=1735131914; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=37d3136MH/Lj3ZUUrUTIyNwrWsJuTyPww/s07XJQrz8=; b=kvyLDT3Vb9aNVznxjMdUs8pW/kuNGSQTiUuGxfHIsIexuEwf5sxSva4G6PEhIajUaI ryEhLAWyws3kPipQSt8Zm4JOND8DOYEL3QSrvTBq+8cZIzXiR0o+2foiQcT4JmXqJEMW eG6scdnK72EeOFM+VxnDlRv9z668q6DSaLCN12O9JQefRfQVTMqZnWKO0R15fFU4GYR1 j80AzWfn8nG9jiTE3Ykcs3yqJnRvhfNLiigskcaJzmoWuCNy715lMxDuNDSZtGyutHXD dmCTLmGHdCAhjDV/0mvnnCrKGVTaf3VJ3J/7ACfeBO6T2a4sQ+Ons1WrurDRbmQjJ4zI sJsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734527114; x=1735131914; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=37d3136MH/Lj3ZUUrUTIyNwrWsJuTyPww/s07XJQrz8=; b=ahPytBfI0g+1Za2ZWXWHEHtaXyw+qDXSi3XhU69uNidyZApiCOi7XgAyAVzQPEAnEa w49DspESJyFZKWQnuHvvRtJd8jAyJRkHpGGBPxjzzpTeVlAn0rzek8i7hgWwKe5SHnLg qzVPS+FjWQSqwYjnJ5+2xVffbUCKc85GhOIb/lf3V8sfZc2wD+Rf77J+xQnMZYSr1zx6 kl43USpskahstvO37+PNgHY+7dBmsOSypVNqi8Av5yc/j9NYrXRopKXcHQPRWLMTxE99 GoDzwzHgQuLxHrtAbC3tcKECZWwbcfaSa+sR21Qut4G33h7x598MQL78ekp0hc1f5s1p opYw== X-Forwarded-Encrypted: i=1; AJvYcCXLWlaC3DCp3eyVlmfzls7SugcLkltHy8Co2lKE5N2xwE6rX7CYaQOCZ7q2CLGyiK2haC/yXbnG7a0BUq4=@vger.kernel.org X-Gm-Message-State: AOJu0YyPjlEFG9yVmxpkmlJvn6BO/Ox1J5sXi0trXtWnIwyzP2fFKMhq Uk31f2W/JUbYCTnIlRBvMKP8mRftUp9M2iOozmg6f4u+J9bDkYG5r6BaJO+G27M= X-Gm-Gg: ASbGnct2r241tUj5bwcS1xUNwvYW3diXpkB9sn13ONF7QQwYIpRDolVpBACx/bJan0G aWIRLse7Bn4L3PLzoOZJ3WIdrfsblh64LEPxA7LP3Ygcg+a5F9er51oxU+p41Ue3+MVWb+xa0Ia kMGGypPqbP1PCvWwyJFmIOa3mD1DdoT6ZDabvR5b6n4xYn1ya6xDJCFgvpM3WxgToETkX0KKu9T Jwt3e9pJmqMcsrlv07J+3ZCt9bnq52qPwhIUHHB91xv5frQfqt38rZBaVr9xnOGVMeQV05r59wZ ACQMBcvm3TI6gb3KL0LefA== X-Google-Smtp-Source: AGHT+IGVLgY8vFLZqjIL3oQPZehgU5XP1d4YxVu/+EapWtzKcY/+w347Rqmd9s+hVdjxdsfNE1spFQ== X-Received: by 2002:a17:902:ef0f:b0:216:6855:164 with SMTP id d9443c01a7336-218d7252ae5mr34612065ad.39.1734527114526; Wed, 18 Dec 2024 05:05:14 -0800 (PST) Received: from C02DW0BEMD6R.bytedance.net ([139.177.225.238]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-218a1db755dsm75751825ad.42.2024.12.18.05.05.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 18 Dec 2024 05:05:13 -0800 (PST) From: Qi Zheng To: peterz@infradead.org, tglx@linutronix.de, david@redhat.com, jannh@google.com, hughd@google.com, yuzhao@google.com, willy@infradead.org, muchun.song@linux.dev, vbabka@kernel.org, lorenzo.stoakes@oracle.com, akpm@linux-foundation.org, rientjes@google.com, vishal.moola@gmail.com Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Qi Zheng Subject: [PATCH v2 01/15] Revert "mm: pgtable: make ptlock be freed by RCU" Date: Wed, 18 Dec 2024 21:04:37 +0800 Message-Id: <914f1b9359d5547c08a30908e8c970fdf463e210.1734526570.git.zhengqi.arch@bytedance.com> X-Mailer: git-send-email 2.24.3 (Apple Git-128) In-Reply-To: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This reverts commit 2f3443770437e49abc39af26962d293851cbab6d. Signed-off-by: Qi Zheng --- include/linux/mm.h | 2 +- include/linux/mm_types.h | 9 +-------- mm/memory.c | 22 ++++++---------------- 3 files changed, 8 insertions(+), 25 deletions(-) diff --git a/include/linux/mm.h b/include/linux/mm.h index 024bfb3ca9152..9d58f89e9643e 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -3019,7 +3019,7 @@ void ptlock_free(struct ptdesc *ptdesc); =20 static inline spinlock_t *ptlock_ptr(struct ptdesc *ptdesc) { - return &(ptdesc->ptl->ptl); + return ptdesc->ptl; } #else /* ALLOC_SPLIT_PTLOCKS */ static inline void ptlock_cache_init(void) diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index f73645627fd92..e2139af51e050 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -435,13 +435,6 @@ FOLIO_MATCH(flags, _flags_2a); FOLIO_MATCH(compound_head, _head_2a); #undef FOLIO_MATCH =20 -#if ALLOC_SPLIT_PTLOCKS -struct pt_lock { - spinlock_t ptl; - struct rcu_head rcu; -}; -#endif - /** * struct ptdesc - Memory descriptor for page tables. * @__page_flags: Same as page flags. Powerpc only. @@ -490,7 +483,7 @@ struct ptdesc { union { unsigned long _pt_pad_2; #if ALLOC_SPLIT_PTLOCKS - struct pt_lock *ptl; + spinlock_t *ptl; #else spinlock_t ptl; #endif diff --git a/mm/memory.c b/mm/memory.c index fed097ebedcbc..e064f5edb7c56 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -7087,34 +7087,24 @@ static struct kmem_cache *page_ptl_cachep; =20 void __init ptlock_cache_init(void) { - page_ptl_cachep =3D kmem_cache_create("page->ptl", sizeof(struct pt_lock)= , 0, + page_ptl_cachep =3D kmem_cache_create("page->ptl", sizeof(spinlock_t), 0, SLAB_PANIC, NULL); } =20 bool ptlock_alloc(struct ptdesc *ptdesc) { - struct pt_lock *pt_lock; + spinlock_t *ptl; =20 - pt_lock =3D kmem_cache_alloc(page_ptl_cachep, GFP_KERNEL); - if (!pt_lock) + ptl =3D kmem_cache_alloc(page_ptl_cachep, GFP_KERNEL); + if (!ptl) return false; - ptdesc->ptl =3D pt_lock; + ptdesc->ptl =3D ptl; return true; } =20 -static void ptlock_free_rcu(struct rcu_head *head) -{ - struct pt_lock *pt_lock; - - pt_lock =3D container_of(head, struct pt_lock, rcu); - kmem_cache_free(page_ptl_cachep, pt_lock); -} - void ptlock_free(struct ptdesc *ptdesc) { - struct pt_lock *pt_lock =3D ptdesc->ptl; - - call_rcu(&pt_lock->rcu, ptlock_free_rcu); + kmem_cache_free(page_ptl_cachep, ptdesc->ptl); } #endif =20 --=20 2.20.1