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 28518C71136 for ; Wed, 11 Jun 2025 19:26:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 93A886B0089; Wed, 11 Jun 2025 15:26:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 912586B008A; Wed, 11 Jun 2025 15:26:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8280C6B008C; Wed, 11 Jun 2025 15:26:15 -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 60E386B0089 for ; Wed, 11 Jun 2025 15:26:15 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id DD2641613E1 for ; Wed, 11 Jun 2025 19:26:14 +0000 (UTC) X-FDA: 83544100668.03.B47072C Received: from mail-ej1-f41.google.com (mail-ej1-f41.google.com [209.85.218.41]) by imf05.hostedemail.com (Postfix) with ESMTP id D3C3710000E for ; Wed, 11 Jun 2025 19:26:12 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=neon.tech header.s=google header.b=iPFmoMG2; spf=pass (imf05.hostedemail.com: domain of sharnoff@neon.tech designates 209.85.218.41 as permitted sender) smtp.mailfrom=sharnoff@neon.tech; dmarc=pass (policy=reject) header.from=neon.tech ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749669973; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=mgdsahy7+MpouV5T836yjKIsgGHyAoUAinAmgQTqbhY=; b=Bj2de0KCkz33evHTgbVS6KLhhuiuLX7qKAXWbgkcfAdrNHS8eLMl0YohaR6cyNaEmgv0su VwuBz4WDVx8Dk/n4tH11hsXjLdHkVVK75y3QP3qSyUINHLfI/kQHuX28E4aXyjaP97mSQQ vPvxXcMWqmiJEqoWhr+0fzCChtbFetk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749669973; a=rsa-sha256; cv=none; b=RwRlao+vktZJybHbcn02yKa/QuEnMwQmRJlgb59n4GVmnicweqW9maGhNs3QEvzjdIFBRs KuR2B9AvgAnOTSbqCNWE1Cu2aQ4Df/7xv7A4dnUq11FadcujYNRxw9DC1zIJXOyIgu5zzT a6vuppMAos6LLpLzTrHiTcg6axxHk70= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=neon.tech header.s=google header.b=iPFmoMG2; spf=pass (imf05.hostedemail.com: domain of sharnoff@neon.tech designates 209.85.218.41 as permitted sender) smtp.mailfrom=sharnoff@neon.tech; dmarc=pass (policy=reject) header.from=neon.tech Received: by mail-ej1-f41.google.com with SMTP id a640c23a62f3a-adb5cb6d8f1so31923066b.3 for ; Wed, 11 Jun 2025 12:26:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=neon.tech; s=google; t=1749669971; x=1750274771; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=mgdsahy7+MpouV5T836yjKIsgGHyAoUAinAmgQTqbhY=; b=iPFmoMG2HsDPi+geolrc/WNzY+F8ZtcHgtooMBRLz4iByHnAwhpnM1knW3Ec2I48yc RKI7rfdivAYJNYLGdqcTtV7pKZRaW6vAhDHDg++hRISh0dpeYpas7BoEXEQg7EixnkuR SohknmtSqQBk4aif2q++9zx4dscHTfsO1L5QE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749669971; x=1750274771; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=mgdsahy7+MpouV5T836yjKIsgGHyAoUAinAmgQTqbhY=; b=OES676/KFtPGuBzieJ8W0Bg6sjAfDtqwL68wqj8QLaSDcQ4L6u+Cygh8u72BXj/Y/W Azot0NJ0en7eIu11onAXFaFcVAvjZYP00AdcanQ6ecliiCcbPlgN4EfwKdFwpqGccL+V zqqazmbZMy7Etn1kFVYwhgJFh695wDOdFtI8zs498YT5thaMmJuqwApx9I2fERegb9/c 47YUZf3Os4T2YMwmPu7yHRvMWFAlQBoich0m+lg31B0lVaL4w0F2n9FFFVIxbCeTE4Yd 6zdNq5wBYIhPsaxc25tuUsuKGCikvPcTRxj7BuSY51JbXzts6d63zcEpGJvHrdDfZ97I 6CAg== X-Forwarded-Encrypted: i=1; AJvYcCXfIjmUwCtAnq1I42UqT060DJGmrbe2D6Ij0JC7jLCfzHWtykc3JfB+AC/sJxtzVuO+ed51yYsCYw==@kvack.org X-Gm-Message-State: AOJu0Yz9H40d634qgMjp1zjSThQG+HEtrO6gvdktuFrtoHltJziLuM/p JSEM+YXkBsEAoiY8df55qxvecO/urkEk3aJkUDIcSPR/lcHWdfTxFxI1Lt9MV3UAO24= X-Gm-Gg: ASbGncsiYgXEVW+ylmuLlzo371k3oQ53ItSUTORvV5SiuZiHiHwfeXYmZky6ZnMpjSI Sm6YaaolWfBzgxQV/PDKvBznHxX7q//KfRgvukamhbvie/BZNImpkTN0FRBpdPOJk9WM3d0XT8q woieUhOkT0UFEXdab3kYapQdgo85NZT4ZsIOHWyR0130eiYgG7BHTcaNDFM5/xV6798ZsXxTOL2 ZSLAy8NJi9vXahT/oJEF5JzGO6GX2EoEjTX9rI6akdI7qv2PFWYMFwYvg4nPqghj4u+wMoRfXxw Mxkpz1VwyXRMFRY+cp7w0icC27E2ODj7FF15TgpEJF2R+7uKv/G20VG/IoT5xv+/VQ== X-Google-Smtp-Source: AGHT+IGMnP+w4WMFp5n+e97Nlh4jE0YqLWoswlRzQ04NQM9lzHRcmeLEfTIdee8WauSnhHH/y0FQFw== X-Received: by 2002:a17:907:c807:b0:ad5:e18:2141 with SMTP id a640c23a62f3a-adea273e373mr88856466b.53.1749669970917; Wed, 11 Jun 2025 12:26:10 -0700 (PDT) Received: from [192.168.86.142] ([84.65.228.220]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-ade8804b65dsm197914466b.133.2025.06.11.12.26.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 11 Jun 2025 12:26:10 -0700 (PDT) Message-ID: Date: Wed, 11 Jun 2025 20:26:09 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 1/2] x86/mm: Handle alloc failure in phys_*_init() To: Dave Hansen , linux-kernel@vger.kernel.org, x86@kernel.org, linux-mm@kvack.org Cc: Ingo Molnar , "H. Peter Anvin" , Andy Lutomirski , Peter Zijlstra , Thomas Gleixner , Borislav Petkov , "Edgecombe, Rick P" , Oleg Vasilev , Arthur Petukhovsky , Stefan Radig , Misha Sakhnov References: <22cd0fa8-d14d-4d37-a6a1-5e6827d6182b@intel.com> <2080ec7c-8dc8-4f03-bd96-78ba47e55a97@neon.tech> <7c204a40-532d-4afe-94f9-e685fb9be454@intel.com> Content-Language: en-US From: Em Sharnoff In-Reply-To: <7c204a40-532d-4afe-94f9-e685fb9be454@intel.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Rspam-User: X-Rspamd-Queue-Id: D3C3710000E X-Stat-Signature: jbgy5wcmiryz6ifhuxf3wpycm5qg8eox X-Rspamd-Server: rspam04 X-HE-Tag: 1749669972-79827 X-HE-Meta: U2FsdGVkX1/cx3/FJ9/RLCjQAMl8alQTsmNLQKJJ+PZcCiFJ1Gfbcj+B0/ACdexKyrRKpY3+CJJSa/E2w3z50US04yBuf9INUVyvAaxSImsXQTJ+tWXmDVgce2wDplvoJIoLCaF2sXfva+fy5nyMqLl5G+Ge4XZh87A9nRveMXCxXfkVCS9CNAhFBz1whSo3Le8LCNBt025nMtQTdRPm2e6Wx0SN63lMIuQRtBS4rGCSm86J5u7pF6pAHnhIz6RKMtsqeQbbl3qfSlK1CHduLiGuinvJUidgOdPXYnZxevEZJ4YTUtWqpipsfEgvuMLhPKPhhcqLHrmK3jFbrthaeZ5gS5kAT6yxLpCv1aS6cevDSngcuQGLGsLjhmVsREoCMw16kTmAewQ59minPlvQv3BPr41Q/q7kHFRcFSsy81HsEZGSaQj6Ire/zpd7SOqD75xQvrbWWVLxg7oJ1hrw8ErXv25KMiis5lVLX0LebFS64+gv68Uzaxqvq0h0mxKwZgnh+xzt7aqwVz0VVO4hWVHamsk+rjsiUYvD4MwTfZUBAp26QY87YRe7YcQRv+eQRL8noXKht32vkVtD9M4M/urUCOsExljDS79KEcoO6IYUPXsQYlU6y9YeiP1rxC2JU0HGAg/6JktqzD2/uTFaIiX89AMueVm7meCUkTJmaAxT6VDZ6ZzJ86i2MDd6uXi18wxNFjPEkgcD1SRS5gVc8MWGLtvVkM/8azjUsRCwf4DvjWL5zTQudpKs4fAWOuYtWzF9MJdLRwa7vvM5nL/6YnzkifWPpvbo41auD85zFBtqsneX7BLgPPwpm2fzueEa9BnEWd7jNXGH3Cy68GEhwkMvXheYOV8MABe7cgE0Cfbz4zahSGtR1m2B1ISxq7PwOwVDLwBhKFYtKwX51zXfmOk7URLS2DyxF7RhfLZKnYMRDRttlpttoEUh5k+J9yAIcWSiu8RbDMpJKP7qAcu qx+zhztX LS+o/EdloSQeqY8fi6WjU6cCuNfvu8beQP+UN74CtPMwCIHUm+vbKgo4lLgcpYo1u0GRcHg1Ps9zyOcQ54jUhc10Furtqp6Q13Te8MzAV+kdJulVfQhfGhbqlTmU0Ein13mo+YzaBo1QD7MZrjg9HUe9D7x+7yzNq07sjfaA6Mo1dfJGDRgdWDipdvLX8feFSGVHntt2fVmXW/MiKON+dbTD00YWBJslJoApbqqvsSRodIeXzx6Mr0PtVGV+rMlyjU77FOEPE7G0qlu2VfA1mmn3FcZWrFlU2hYCW3gcEJz9vFDuOGFncVVrak42ZjNNVP04LEr/tMObTMoDkjufoOSPINNgjRGQnwODqwfPQD3602CB/S1OgO6Mw+90gXagUkB7i1NE8ugRmFM6WXGNiv3Xmj3KgvtTSGKz5tdiy622dYG1viYM/WJaqBLiAKuZ5MeeB 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/25 15:16, Dave Hansen wrote: > On 6/11/25 01:38, Em Sharnoff wrote: >>> Could you please find a way to reduce the number of casts? >> What do you think about changing the return for these functions to just 'int' >> for errors? > Fine with me. No reason to cram errno's into a physical address that's > never used as a physical address. Just realized paddr_last is actually used to set 'max_pfn_mapped'. In init_memory_mapping(): > add_pfn_range_mapped(start >> PAGE_SHIFT, ret >> PAGE_SHIFT); which in turn only uses it to update max_pfn_mapped: > max_pfn_mapped = max(max_pfn_mapped, end_pfn) This was added in cc6150321903 ("x86: account overlapped mappings in max_pfn_mapped"). --- Some other options to reduce the number of casts: 1. Add helpers to do the '(void *)' casting for ERR_PTR, keeping everything else the same. 2. Change the phys_*_init() functions to return int, and directly update max_pfn_mapped from within them. They already call update_page_count(), maybe this is similar? 3. Change the phys_*_init() functions to return int, and calculate the expected paddr_last externally. The third option I think is possible in theory, but probably too complicated and fragile. (at a glance, there's complex emergent logic - but maybe someone familiar with the code could make the case for something simple) Thoughts? Em