From patchwork Tue Oct 8 04:43:54 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gregory Price X-Patchwork-Id: 13826534 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 2E6A0CEF17A for ; Tue, 8 Oct 2024 14:00:56 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 970EA6B0099; Tue, 8 Oct 2024 10:00:55 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8FA356B009A; Tue, 8 Oct 2024 10:00:55 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 74D516B009B; Tue, 8 Oct 2024 10:00:55 -0400 (EDT) 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 4EDBA6B0099 for ; Tue, 8 Oct 2024 10:00:55 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id EB0C7160146 for ; Tue, 8 Oct 2024 14:00:53 +0000 (UTC) X-FDA: 82650596028.08.2BF1E13 Received: from mail-qv1-f50.google.com (mail-qv1-f50.google.com [209.85.219.50]) by imf09.hostedemail.com (Postfix) with ESMTP id C966E14002D for ; Tue, 8 Oct 2024 14:00:52 +0000 (UTC) Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=gourry.net header.s=google header.b=alcdHeys; spf=pass (imf09.hostedemail.com: domain of gourry@gourry.net designates 209.85.219.50 as permitted sender) smtp.mailfrom=gourry@gourry.net; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728395917; 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:dkim-signature; bh=iOmfBB2o+BmwtYmn6lEeWqW0gfRN00aP7+NLXlUlw00=; b=Rs1f6i2B61/H9fCDLX6RSNyvC5vi5CopsfMxVbQ/F5xcmw5ITnJwLE+MHiR3X6MFzeWf51 L9gKcH1kXKkipIYRNRC/fPYVPdX5gY9kUPFG9RNliO3U770hyv6ABAYHWLMBWWmfd7AjKF GWNEnPK5UlZxLpOdPSUHNv1BFCaKki4= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728395917; a=rsa-sha256; cv=none; b=vkCb5NeoMI7uHXi5x15eyqK/Pa/o9dXuTUsAHk1AnYaTW6vqsVvsKgmgH4Kc/IreML9FsV jYt3ETOYhchU6Ajuz6k8RUWrusXPnXwJBChPlp4nogS9xg2ljsdGfteowwxo7IE7aVPST3 knMGfQMFPjG7u0RnLqAyTyMG/EAzWy8= ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=gourry.net header.s=google header.b=alcdHeys; spf=pass (imf09.hostedemail.com: domain of gourry@gourry.net designates 209.85.219.50 as permitted sender) smtp.mailfrom=gourry@gourry.net; dmarc=none Received: by mail-qv1-f50.google.com with SMTP id 6a1803df08f44-6cbc5d17c2eso3202556d6.1 for ; Tue, 08 Oct 2024 07:00:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gourry.net; s=google; t=1728396052; x=1729000852; darn=kvack.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=iOmfBB2o+BmwtYmn6lEeWqW0gfRN00aP7+NLXlUlw00=; b=alcdHeysjmRoqem+XRBMArGxGstxvRcz8ZCpkfypIBP07cv3ky2xWo3wxG+fc4rEV2 VvomnXshBXWVZJhGW1YXiTe8d7ZiS5+7yajRlWpzihxbEjxqHcEVY1ZFym4bCBidpMQu dUUrdTBH3nfsGixtOUBtHrmXy0DanBo/8w+1RthTRnndg9c8OI+37iphbTuRTxS9v+Ya TukwCwMlbuEdykcIpzAEWVFJ0JLk4U47c+dqoq0Vk7+tGiY7szcXTH8GbV75cCQeIegT xIy514k2sIA15tnj1UTJdQTZcH6jP44P8AM5AnmqHdICLwq0I9emcZm+OaAGJ9SyP0Gm 9MRw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728396052; x=1729000852; 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=iOmfBB2o+BmwtYmn6lEeWqW0gfRN00aP7+NLXlUlw00=; b=Xj6uM4J8pZHYcB3hpgKEW6HrVoeYd4ivCAYlPDNvifgNdoq7IMSS0l3GtmzuEp35OZ 7+xYIfl3OtGp3ttnFWtYw+7IqOrQMhYS5LhqE8DS7atzDNXOyLk6GbqQJ2AH+Z99Adq+ ag41VkUgoR1kD8WY9fKjhvAyiViU8PMnq3OPpjBQQj0HlBEDPQY8tzaNvkheiV/xsvXf +SldKTcsc/+3lVVJjlDupBWl1fvD0qs8SBfLrtmBoNbQ31QVzO/5NsMYCCw+M6MJr2cS DrbIx4liX6Ybc7WYDnwGhdRb1wkumoU+MQ8aTrRhkK07XjJgz/Qn8SBdwam/u2Ki7rOx NAVQ== X-Forwarded-Encrypted: i=1; AJvYcCUX8ifFYSIv9UpU18q41GCrIQzY3zYD75g68evVLXxfk7e8Nw0G1yzKZ/vI8xC1I8l82azB+k8dBw==@kvack.org X-Gm-Message-State: AOJu0YziHePOUUZRFM69z+pF8bOZlNquDYp95cKa0ku1oFnj5q1IbQn8 wUTLW30GD56Y5xR9KcWZJ9D2PyuJCoeKOrtUtKcD4uQW0OR3F0nBYE4kMHzGdfo= X-Google-Smtp-Source: AGHT+IHe1DIW8UN+mP+xqS2Oh3mXbQusW6tw3/R+BVrHed7J8ntdmkY9QJ5q2+XDvRLblwgEqMcXNQ== X-Received: by 2002:a05:6214:3b85:b0:6cb:c745:4f44 with SMTP id 6a1803df08f44-6cbc745517dmr10453496d6.26.1728396051760; Tue, 08 Oct 2024 07:00:51 -0700 (PDT) Received: from PC2K9PVX.TheFacebook.com (pool-173-79-56-208.washdc.fios.verizon.net. [173.79.56.208]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6cbc78650efsm698396d6.39.2024.10.08.07.00.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 08 Oct 2024 07:00:50 -0700 (PDT) From: Gregory Price To: linux-cxl@vger.kernel.org, x86@kernel.org, linux-mm@kvack.org, linux-acpi@vger.kernel.org Cc: linux-kernel@vger.kernel.org, dave.hansen@linux.intel.com, luto@kernel.org, peterz@infradead.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, david@redhat.com, osalvador@suse.de, gregkh@linuxfoundation.org, rafael@kernel.org, akpm@linux-foundation.org, dan.j.williams@intel.com, Jonathan.Cameron@Huawei.com, alison.schofield@intel.com, rrichter@amd.com, terry.bowman@amd.com, lenb@kernel.org, dave.jiang@intel.com, ira.weiny@intel.com Subject: [PATCH 2/3] x86/mm: if memblock size is adjusted, update the cached value Date: Tue, 8 Oct 2024 00:43:54 -0400 Message-ID: <20241008044355.4325-3-gourry@gourry.net> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241008044355.4325-1-gourry@gourry.net> References: <20241008044355.4325-1-gourry@gourry.net> MIME-Version: 1.0 X-Stat-Signature: saxpj7wzc66c9nqmdhugf48uf4q5f7d1 X-Rspamd-Queue-Id: C966E14002D X-Rspam-User: X-Rspamd-Server: rspam08 X-HE-Tag: 1728396052-731012 X-HE-Meta: U2FsdGVkX18VdLyzrhdJzK2uPu8HuEUYUPDQs6pU59y0k3rWCOFb16RAfxRne5PyLZHVrE+tRl5Yul6HssDiEGaHQ24qmBcevzvgh3TjqGNVFt5qcSyqEYzRExqeNjafZ2Tdnu8XbwRlAAHnwAc+oHIdlPU1nhQ1CEkN0xgKc/wQLGI4gugFeAuzlSQreJo7DsgTKpoBr9PJOrIyXS+D33R5lbzycsDWrj03mj3Gt33MZRKqSXcHisnVP8bzwS/tOflnYMLdJ5rsRZo/HiTnXIX+tiaBJA6FRtHi51K4rhs8/1Hsf1POkzwBkyB4r6XcSI4jKc2/SaYJud5ynnKCdiRHQGsROQIgd96KmLleUfLCBiqncbA9bLJzwmtQdWmE+1L5oUJywArGG13xfn9KF3Rhjwff8unL2bnHkFv8wPZM/gFX+OscAv9mSC3RrIkGKrMv2ScjP6fct9uUTaEk1hgmbTL+GaJfFv6dMalCuRaWBoOqbERNCQFIorDZl3L4TAF/OhxwxazJ/p4RJgU+oidznH6JJqulRXkjnsQQSmRmSodbASDs7eFChzG8ZlTNj4mW/gYf6r2sjFFo6m+ijwLonFSMH/+GxIBO0P4WdAciq/ty2TIu5SaZ0Uyy8g/0tEermsPVh8K/C4OKyE/VVlf4p8Ju/V+aoYOua6mOxFkbFJuaWfyRo4r9voy8bAPKq5bD0fm0D1h6Rn+J7SFn81LJta88qH28A/5WatQ7XtHaht8klTRULuq/mBDW3Jw4H6jQsNZq0SJYhzLRFAVoPWq88zrucibFoqkeIEsTPj5bBYBMrkFqgD+hs3YmQltJ8EZ3fUIXLE8J1FT9A2qYcNl3CGbRuTTEJCTBgH64UF4qI2X9tmzb2K8pmqQKL0TvQBuTssVL/vya0XXuiJfKB4o43xt621GTVSZGp9NEY4CSEeCFtLdWP1yQH3Y+gMimiOuMinT1MwUaWUJfjDP ZVwssF9h 2+8OqYWiFH40gMTT9tK8dXJe80MMKenN7a8jhpgAoIR/W4lj0gYvsSu8Iujt+WX7SwtPbrvKmQa2xiDqtj5uj9Uev6JlxGeZW635s6wxA0fsHo5VopE+g17e/kq6ggXftSrk9IUTvJh0xx4DpwXeuxdfFRGqztsvBj2bODQ/9s8fwcxK7QlXwXFlFkIXZyREC7tNDKmlJUFUcBtF7Km645YJsqIUxbDWhLfzna5ZpHCqKANE6Jlc4h2Xtd0BwYETD1POxkj0oMSD3b3Ez7POSn+WRQfVU0JSb8axA7V4od2dfX/NMagkVeDBbPA== 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: When parsing CFMWS, we need to know the currently registered memory block size to avoid accidentally adjusting the size upward. Querying the size causes it to be cached in a static global. Update the static global if the value is subsequently updated. Print a warning that this has occurred for debugging purposes if the memory block size is changed at an unexpected time (post-init). Signed-off-by: Gregory Price --- arch/x86/mm/init_64.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index 6086f99449fa..733dfa899232 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -1424,6 +1424,7 @@ void mark_rodata_ro(void) /* Adjustable memory block size */ static unsigned long set_memory_block_size; +static unsigned long memory_block_size_probed; int set_memory_block_size_order(unsigned int order) { unsigned long size = 1UL << order; @@ -1432,6 +1433,19 @@ int set_memory_block_size_order(unsigned int order) return -EINVAL; set_memory_block_size = size; + + /* + * If the block size has already been probed, we need to change it. + * This can happen during ACPI/CFMWS parsing, since it needs to + * probe the system for the existing block size to avoid increasing + * the block size if lower memory happens to be misaligned + */ + if (memory_block_size_probed) { + memory_block_size_probed = size; + pr_warn("x86/mm: Memory block size changed: %ldMB\n", + size >> 20); + } + return 0; } @@ -1471,7 +1485,6 @@ static unsigned long probe_memory_block_size(void) return bz; } -static unsigned long memory_block_size_probed; unsigned long memory_block_size_bytes(void) { if (!memory_block_size_probed)