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 819B7C021B2 for ; Tue, 25 Feb 2025 08:36:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CDDD46B0085; Tue, 25 Feb 2025 03:36:52 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C66D56B0088; Tue, 25 Feb 2025 03:36:52 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AE0226B0089; Tue, 25 Feb 2025 03:36:52 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8C74F6B0085 for ; Tue, 25 Feb 2025 03:36:52 -0500 (EST) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 32C53160D4E for ; Tue, 25 Feb 2025 08:36:52 +0000 (UTC) X-FDA: 83157811464.11.CF837A1 Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130]) by imf16.hostedemail.com (Postfix) with ESMTP id F077D180010 for ; Tue, 25 Feb 2025 08:36:49 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=iMSj3EYj; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=TRxa2sAX; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=lEJYeUeY; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=2GWcGaxb; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf16.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 as permitted sender) smtp.mailfrom=osalvador@suse.de ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1740472610; a=rsa-sha256; cv=none; b=SMlWh5MmX54psZzFCnmp4CQfxpnWsjKODiH3Anb3wdf7dkYV2RXMehqiDQBH2Zz+DZYpeA BsW8obprOm25hW3uDIxgy+M2yX3JqUV52110xGVTlcyj3MWayAOyRplDdwCZZ3tqpf+IqI TVg6+xmGMbF1Dtau2rtjZiAXCsXR8EQ= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=iMSj3EYj; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=TRxa2sAX; dkim=pass header.d=suse.de header.s=susede2_rsa header.b=lEJYeUeY; dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=2GWcGaxb; dmarc=pass (policy=none) header.from=suse.de; spf=pass (imf16.hostedemail.com: domain of osalvador@suse.de designates 195.135.223.130 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=1740472610; 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=ixIW4L2KK1/x1LlQODZCwvIbEcdT4VoLWaThdcRLEE8=; b=BHo8gBsnb9SsbGOZj6MMuz0Yr6Q6guVpx0wGPRf/RLCyif7DwEM5me1rDoo9zGbRvjUDml fgOzzeGDmn8Csk0kZ8J0wGgof5GmE0UBDYZVysULkg81On7k/OtLASW1y7LtvZhc0EXUrM J7olnrZwjA000PBOPIMq4vdBHYPwJ38= 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-out1.suse.de (Postfix) with ESMTPS id 3E4572118E; Tue, 25 Feb 2025 08:36:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1740472608; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ixIW4L2KK1/x1LlQODZCwvIbEcdT4VoLWaThdcRLEE8=; b=iMSj3EYjCoNJ4Z740vMgD27ZXFtu3F3CLVZ3oDILVbMlw0tqBuyEub8EIZkyJoPcuaMSQ9 G3jhPBfdRxBTGbC20LgbOZ9u51YQKPTAb23mcV/JMQ+KUQ13ZpYxnu/wwU8mCM7oh/EB1+ 9/aFr/JtHPWoIBmQ0mXyMnO6Q1YWMt0= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1740472608; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ixIW4L2KK1/x1LlQODZCwvIbEcdT4VoLWaThdcRLEE8=; b=TRxa2sAXnPlD/UqrVIzRVclpxMU9HcFoA1CacAu9ubJK6QHEW5VpPrkxL2IbzRQuDLBuJx PSNljU0qjUBar6AQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1740472607; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ixIW4L2KK1/x1LlQODZCwvIbEcdT4VoLWaThdcRLEE8=; b=lEJYeUeYu/5Ys8uFO5wUOLJGv1Rv9tujKpdmgBhdYZTXGkN0NDf0Mj+ZcBQ1KkU7/whuJz 3GlsRoHvKAJ18y3q3FOUDVilf+RTLuTme8ZLSYsm9BNGHP0n/5wW+Ig0uRN4IPqmcgH+E/ jIvpC9x9STl8fkDqE8rA3U18Vk39tsY= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1740472607; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ixIW4L2KK1/x1LlQODZCwvIbEcdT4VoLWaThdcRLEE8=; b=2GWcGaxbapQTPy3/Te8CBxci5u/POnS2l69/xxK+ZEHnFiPzrSZYs0JYSoAu0ksLesZV+n 2Ewt3Q9+NjNBC0AA== 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 770CA13A61; Tue, 25 Feb 2025 08:36:46 +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 xlNQGh6BvWemAwAAD6G6ig (envelope-from ); Tue, 25 Feb 2025 08:36:46 +0000 Date: Tue, 25 Feb 2025 09:36:44 +0100 From: Oscar Salvador To: Dave Hansen Cc: Gwan-gyeong Mun , linux-kernel@vger.kernel.org, 42.hyeyoo@gmail.com, byungchul@sk.com, dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org, akpm@linux-foundation.org, stable@vger.kernel.org, linux-mm@kvack.org, max.byungchul.park@sk.com, max.byungchul.park@gmail.com Subject: Re: [PATCH] x86/vmemmap: Synchronize with global pgds if populating init_mm's pgd Message-ID: References: <20250220064105.808339-1-gwan-gyeong.mun@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Rspamd-Action: no action X-Rspam-User: X-Rspamd-Queue-Id: F077D180010 X-Rspamd-Server: rspam12 X-Stat-Signature: jwrkxg4ds1qng58u9iiu8idw6dgsmage X-HE-Tag: 1740472609-709537 X-HE-Meta: U2FsdGVkX18ZrnxB4GklpiXSjPyZyoxnfZe2+wxpS6ma4pRP5V6a+X1/qUTy6nGdbTOGrvCtiHDimH8vjcsw4JT+P7ZsOkM1b1yz3WDP9Vx6XHUEcKtUOXC3QNu6n/PcMoFI1Jg1N1cRbp7IZTS4z1N4fYgceXOzeJxcdZGjzq9hkFef7Fqx4CVhbF5OdHjiYkpeiqCqvOFZFFtkuM1MV4sISdQQYpJhhOrZAYX+W4TFTB6L7HiwiiFao6LZgmbY/aGk0RElITtqzBjvlKuvVikTdShMwXefQkK8nsKXiwean1rocO325cEa2KNB+Lt+kmiGKuXX2mRzV2ITJqLS2jw3pMUXkFGvrtOuFIRp5iUF06hLhH+CIlJZHk3xDjpURSymkSDo/9CxTNehKIbrRT6zPYB0aeEo+HDQK+HPLjx/1vBio9paGptq6jyvd34OkyhL4o6uy1BTpvWub2LCI5Ij+YfQOLQtwOOKNtmH9kgBSamTTBbLu2ujMwNjQh22UIK0c+bBBQ0zMSd473g+66M0MD7dJLtHWS+HE1WFnmmu5dpNhQWc39qq9o62N8rvbEcwJ4prrx8lH3hDpPbNv9y1WelmBdt0n0LZLIjVYGP/tQjtjzlZlqoRDV1rSahhrmCFzEdaxv1YWnrAQCQpEDJKQrTOEghe5+ihsApDY9RNide3H+k4nBxwdwdGEJaVbauEd2PNIQj8fmvCLTNoo/GnW5ORo8o0Idoyy49KUtH+L7UIgkdJRQsnO2Te909iFA7li7yMkauie44Ss8CECTWV1n0Rzkre6I01kineDqTJ5h3nDZMlE0M6j2/wf/cfxT5+EpJk1TF8enmufZdTdAzskXjz4qtH8fg83ftkMuJwFPf3fXJS141iZVwB3WEShHhcTmPTAY2+ilTgpUQDvUEtynB/Z2zzZncmMzZmLOIhVjiTEJJZInxeAN/ucnRI3Ob3KSMZxuMAy72govW 8X8jsdhs dPZnxVQBxZkJiGcthrKHMrSVwwed1E+ypujrrApIGqJOLrfgTOqR5iO3i2FmZowGiSI8dvpG/estj9nV8lL8Yb4opiBrL+PROYibn7a8TlZ70UMyZbWx+KuQ/xxH3UmIKyzzo5l88D1BMU2q1ziqqVmu6CB/wnUO+03Qhu7Svs7rkGifbIEzRm1j/btO4djsE7HwmVagRv/CL/FLbTsk7uNSbvW8SKg4//OGT4FfT1v3kqU1nyBJ2hWFDjOhFh3nIjLKK9/9gXppUnHNHtZEfeMmEPI+ILv0QUjcmmdCHsm3PK8puGELt9Q+qOR8GvPU5Se0tRUiqjpIFCgpSsDytxHiE4acvl18RNtpQ+D59ia2x2Fphq9rymDqK6rPnNrJ3bEkv 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: On Thu, Feb 20, 2025 at 10:02:54AM -0800, Dave Hansen wrote: > On 2/19/25 22:41, Gwan-gyeong Mun wrote: > > diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c > > index 01ea7c6df303..7935859bcc21 100644 > > --- a/arch/x86/mm/init_64.c > > +++ b/arch/x86/mm/init_64.c > > @@ -1498,6 +1498,54 @@ static long __meminitdata addr_start, addr_end; > > static void __meminitdata *p_start, *p_end; > > static int __meminitdata node_start; > > > > +static void * __meminit vmemmap_alloc_block_zero(unsigned long size, int node) > > +{ > > + void *p = vmemmap_alloc_block(size, node); > > + > > + if (!p) > > + return NULL; > > + memset(p, 0, size); > > + > > + return p; > > +} > > This is a pure copy and paste of the generic function. I assume this is > because the mm/sparse-vmemmap.c is static. But this kind of copying is > really unfortunate. Agreed. > ... > > +pgd_t * __meminit vmemmap_pgd_populate(unsigned long addr, int node) > > +{ > > + pgd_t *pgd = pgd_offset_k(addr); > > + > > + if (pgd_none(*pgd)) { > > + void *p = vmemmap_alloc_block_zero(PAGE_SIZE, node); > > + > > + if (!p) > > + return NULL; > > + > > + pgd_populate(&init_mm, pgd, p); > > + sync_global_pgds(addr, addr); > > + } > > + > > + return pgd; > > +} > > I'd _really_ like to find another way to do this. We really don't want > to add copy-and-paste versions of generic functions that we now need to > maintain on the x86 side. > > The _best_ way is probably to create some p*d_populate_kernel() helpers: > > void pgd_populate_kernel(unsigned long addr, pgd_t *pgd, p4d_t *p4d) > { > pgd_populate(&init_mm, pgd, p4d); > arch_sync_global_pgds(addr, addr+something); > } > > and move over most of the callers of: > > p*d_populate(&init_mm, ...); I think this makes more sense, yes. So for those that do not need the sync, arch_sync_* would be just a noop, so we could avoid all these code duplication. -- Oscar Salvador SUSE Labs