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 31091C27C65 for ; Tue, 11 Jun 2024 22:26:15 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B98976B00FE; Tue, 11 Jun 2024 18:26:14 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B20926B00FF; Tue, 11 Jun 2024 18:26:14 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 924D46B0100; Tue, 11 Jun 2024 18:26:14 -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 6A5666B00FE for ; Tue, 11 Jun 2024 18:26:14 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 10580A067F for ; Tue, 11 Jun 2024 22:26:14 +0000 (UTC) X-FDA: 82220042268.05.AF8CA8D Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) by imf12.hostedemail.com (Postfix) with ESMTP id 06CF440004 for ; Tue, 11 Jun 2024 22:26:10 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PB780nr9; spf=pass (imf12.hostedemail.com: domain of groeck7@gmail.com designates 209.85.210.178 as permitted sender) smtp.mailfrom=groeck7@gmail.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718144771; h=from:from:sender: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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=hGskSVQkT2mm+p3WVge1MIXMpsZtd5S/K/cQqHXRB6Q=; b=oIcO9uMKdOQgC6ZbQ8JH7PWXpaB/30Yt/KCjypgp28OJkVBGAzI3YcU+KOPrNGMM89O2we cG5HKtTW9bCc+mI/VP0AO/GD276o6XgvGstLQra+FPkrS7dE1ICcz3x4eVWFfKqfIb0gCb x7HmG+92Ll0llsRRAISw1MVDcxFA204= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718144771; a=rsa-sha256; cv=none; b=1NQjf4rIkfOb+AGAZM99vZ6iKlgTo+HGhY0Y7VyqP9sOcSdNU/+rL0jDYNL7PZ+2t1soHj 0cjrDPTtw15+lXWceLs0NJwrm2xt97SrH2Gs1itGHpitTAXolnH4h98ku74B1hhTyFZq1Z lzIyBEGcsq/E7NujUZ9VpzBU1v9cu68= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=PB780nr9; spf=pass (imf12.hostedemail.com: domain of groeck7@gmail.com designates 209.85.210.178 as permitted sender) smtp.mailfrom=groeck7@gmail.com; dmarc=none Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-7041a7d4beeso3819960b3a.2 for ; Tue, 11 Jun 2024 15:26:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1718144770; x=1718749570; darn=kvack.org; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:sender:from:to:cc:subject:date:message-id:reply-to; bh=hGskSVQkT2mm+p3WVge1MIXMpsZtd5S/K/cQqHXRB6Q=; b=PB780nr9Az2aPOHNxMuD/X+RWltaFqXR3yWL3DRaH1Sm1A0ruU7ArewlM4mEMbOj5m JuOYDzTmu37sv4ZMxlUEhpHzHrRgvh1z12Twq9rJcch6vB+mJqkVypiO9QnXZdZqKZh+ fbuUr5hpowTpgux42ho/11/e+LRu4pRO6jgTsqZKDt1XcoAbtM98hxd+PvcqiUZ27hSj wi0u0gqmPPeCNA8Rgs6rh+k+Lv+xxbtwVGXNFjoOk78U87Vin/PjIS7h0MPJ9AtGGZFL 6kElFaNRPADZTfbWcWlRZNJVIBcjuy02vHoIkQuv5OuyhOgKiTK2egcZCIdUHFTKIbT8 uFkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1718144770; x=1718749570; h=content-transfer-encoding:in-reply-to:autocrypt:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:sender:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=hGskSVQkT2mm+p3WVge1MIXMpsZtd5S/K/cQqHXRB6Q=; b=kNLtN8EoXYw0UVwDYGHoTKgs7FW1inXoSe3Q0PzDjRiKHgR/u3m5gKOuk1Z3uvyBUo Uirqi/1Ggx7bZ+KuWGk7SnAbFzKU3mb9u3CFe6bQRNsBi089pFbuz+8dtvjIy/vtpFr4 kmF23PRTMghFJeOE5Jxv40gEjm3COR2p+hx8iBGXYTfD7VM4q0yuJ0mvlhkr6fQd3Y48 BOkl0EcfsfVxFFY68AQ7EwqB5A5NZDDWPuyOm/TyG8khK8+Ju71BNCQce/cBhbsxg4dW /kx9iQ3CPjlRl0zpThuuNQaQJrlejUjCEkDQH3gxPgJsv7+UuFQihnYkivOxxRLOPTSf aoWA== X-Forwarded-Encrypted: i=1; AJvYcCW4zXRlwtl4y46XP3eOYcvtgWNO/tg/AeiL/U1x8GWcGRIbF6v+hKeJk8mGFTffRVIK097jwBpZVulxVg2vXVUEDnM= X-Gm-Message-State: AOJu0Yyhz8vNyQjor5z/7ayXM+tXa+WmWI3Pd7K/jFI2kV3OgeKJ3mKE OeXINDQBHIsATTBxWTruFlkvknF3j0OXF9LUd3gNgCflMqNDvR6B X-Google-Smtp-Source: AGHT+IGHO0/v3bIPOwuYDy9no5nG00gA81F2repN6PXwifWm5ctvLizddccW9lmxtL+RKYTY2Ktofw== X-Received: by 2002:a05:6a00:3d10:b0:705:9ba5:f3e9 with SMTP id d2e1a72fcca58-705bced526bmr219251b3a.30.1718144769422; Tue, 11 Jun 2024 15:26:09 -0700 (PDT) Received: from ?IPV6:2600:1700:e321:62f0:329c:23ff:fee3:9d7c? ([2600:1700:e321:62f0:329c:23ff:fee3:9d7c]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-7059534a4c4sm4245488b3a.36.2024.06.11.15.26.06 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 11 Jun 2024 15:26:08 -0700 (PDT) Message-ID: Date: Tue, 11 Jun 2024 15:26:05 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v4 1/2] mm/memblock: Add "reserve_mem" to reserved named memory at boot up To: Steven Rostedt , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , "Liam R. Howlett" , Vlastimil Babka , Lorenzo Stoakes , linux-mm@kvack.org, Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Peter Zijlstra , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , linux-hardening@vger.kernel.org, Ross Zwisler , wklin@google.com, Vineeth Remanan Pillai , Joel Fernandes , Suleiman Souhlal , Linus Torvalds , Catalin Marinas , Will Deacon , Ard Biesheuvel , Mike Rapoport References: <20240611215610.548854415@goodmis.org> <20240611215801.443593152@goodmis.org> Content-Language: en-US From: Guenter Roeck Autocrypt: addr=linux@roeck-us.net; keydata= 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 mDW4+i+XlNFUPUYMrIKi9joBhu18ssf5i5Q= In-Reply-To: <20240611215801.443593152@goodmis.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Stat-Signature: 15rdimji8zgsi8uzsmeyk888ke77gdf3 X-Rspamd-Queue-Id: 06CF440004 X-Rspam-User: X-Rspamd-Server: rspam05 X-HE-Tag: 1718144770-973118 X-HE-Meta: U2FsdGVkX1/ufkNKv8wa3J2Ids3R42IaGYdLs+0h3rUWc6EE0n4dSJ91uE3nnqs6H4yA1MIfQRcsvG3fWoVFkqFUTE128QX04w24RvNQCjxUmeZLiyy3dSX+Yt7hAEFrTNYNqcqb4YQJ4l/JWrwIRfpZ1qZ7VDCc/GAgADDmsjC4MhtZYF9i84l3gBtKWwY7JBxcYXIt8vlUFNiHvkxtS491rbBZ+N9A8aZjPK0WptvxrGrVEMClh+Rkr/UtalpN8kjyFTjIlLJ9m6lZFTlrtzkf0ukAorF+xCqLFEJo6GySjpuwNJnJbpNNoOYmd7+wSI3L0vI1Ly+WCV2cYJwpt7Qfd/CbjprUC61SmsRL08AALBMw6GyNvLUkRFe5Ld3iVwT8iaHInbzQvbG731MJCog9N6GnQTGKaPcY0F2JMRVPWl10Vj91D5M+o/WRFi/t6sMSP1r1nqy7q4fKiFL6Gi932WK1s+WhyiqPo06oTIN80Fu9GrxabYhv7BaSmNh31romlUiSfllyiH3SQ0HjH896b1pwhilUhfmyvxbLC9NZ2XSNhgBmW1yzszeQtvDHYwVjYTV/ZZzVAochfjeDFFEorLbjLHq4tmDa4UzW8Yoh2mVKreFZbBv/hpKF+5qbJb9AMnsPnuAP1CJgLMphZePPuaK41sMjDkiok9kRxZFefk4OJO9KKvQfsx/c18s41GTi+qC77l2wd3qQttxMP/jiKQ61kY+aHu7PL8cf4lz7RqmBQFA7SWZiO5Y9m9upvye5nZwyLaY9iwoDGvUsg0bCye5QxV/cojAI00DDO0JwPCTKFV0Ljdb6Pxa/ysS72wQdyW02MoNqOC3kUisVwafrN0txprHFtbqKV57LmZy6kxznLp/pvFIx8itjZhnffv2gEmXZvMHxq2A4l4tSYNUbKn4nL0My7nlQpdsCMP2WbKsDh7LJ7McWHOWHNhcmwUJcT9QquilbomAY2AZ 2xxSD+Ky kkAfgMR7wm0v4EUqDJlnf/4lDNPkrD1ZMYS4Uura8koxFPtn5orjPos5ouNrWWE9JNsIXeTSWxS8Y30bO2SH2vyMatNVYR17BEQA+GipSHm+Pq3xHCaKNYAN12wxyXKGQzfCSn23/HMWwg31A4Bc5mmgqTq/J+sIl/qR5ak0oT61+tq7bGfLFjhBYL/85u7tuA89faE0XmQbaDREyZ0R0UsfUIqBYqB1nvpNYZuBU+yojS1Xj0J57pbUwVRyEYILgZRtor43del5YV9nx/8fCbASsleGKkGKQIaNvgBkuozqWkaV1nrQZfijAoPsclNGvlW3VcSgPc4l6w3hYFtVyVG0tM08s5LtlcxIydU7h5eQJ6vQp5ZvIIYlj9e95lJT9t2IBJp6hQVhQpo//7HKjBC4agUIZSIzGBnb/rI06+OXvu01767F0fnr5b+xeYieLBOY5MUiv7R77udtSAhCk8tGN9DyjcbY6nvBQn61hMUQ/s06bmPY7qNXqVw87HMitYCReYmA6AH2PiIQHY8f7XaGMQKGC2L2v4g/S6Fcttt/bDWwCe5QwsUOkHU2foIXeo6wS2furdrP+IxRo3vMEHvNgIPYQkY28sNXjjlov7AesW2x/+3y/7EKL8uZ2/yEanjFHdMp0Y356mUsG+lbxUpmkug== 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 6/11/24 14:56, Steven Rostedt wrote: > From: "Steven Rostedt (Google)" > > In order to allow for requesting a memory region that can be used for > things like pstore on multiple machines where the memory layout is not the > same, add a new option to the kernel command line called "reserve_mem". > > The format is: reserve_mem=nn:align:name > > Where it will find nn amount of memory at the given alignment of align. > The name field is to allow another subsystem to retrieve where the memory > was found. For example: > > reserve_mem=12M:4096:oops ramoops.mem_name=oops > > Where ramoops.mem_name will tell ramoops that memory was reserved for it > via the reserve_mem option and it can find it by calling: > > if (reserve_mem_find_by_name("oops", &start, &size)) { > // start holds the start address and size holds the size given > > This is typically used for systems that do not wipe the RAM, and this > command line will try to reserve the same physical memory on soft reboots. > Note, it is not guaranteed to be the same location. For example, if KASLR > places the kernel at the location of where the RAM reservation was from a > previous boot, the new reservation will be at a different location. Any > subsystem using this feature must add a way to verify that the contents of > the physical memory is from a previous boot, as there may be cases where > the memory will not be located at the same location. > > Not all systems may work either. There could be bit flips if the reboot > goes through the BIOS. Using kexec to reboot the machine is likely to > have better results in such cases. > > Link: https://lore.kernel.org/all/ZjJVnZUX3NZiGW6q@kernel.org/ > > Suggested-by: Mike Rapoport > Signed-off-by: Steven Rostedt (Google) > --- > Changes since v3: https://lore.kernel.org/linux-trace-kernel/20240606150316.751642266@goodmis.org > > - Changed table type of start and size from unsigned long to phys_addr_t > (as well as the parameters to the functions that use them) > > - Changed old reference to "early_reserve_mem" to "reserve_mem" > > - Check before reservering memory: > o Size is non-zero > o name has text in it > > - If align is less than SMP_CACHE_BYTES, make it SMP_CACHE_BYTES > > - Remove the silly check of testing *p == '\0' after a p += strlen(p) > > .../admin-guide/kernel-parameters.txt | 20 +++ > include/linux/mm.h | 2 + > mm/memblock.c | 115 ++++++++++++++++++ > 3 files changed, 137 insertions(+) > > diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt > index b600df82669d..ce7de8136f2f 100644 > --- a/Documentation/admin-guide/kernel-parameters.txt > +++ b/Documentation/admin-guide/kernel-parameters.txt > @@ -5710,6 +5710,26 @@ > them. If is less than 0x10000, the region > is assumed to be I/O ports; otherwise it is memory. > > + reserve_mem= [RAM] > + Format: nn[KNG]::