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 308B1C369A2 for ; Fri, 11 Apr 2025 04:02:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 8A800280153; Fri, 11 Apr 2025 00:02:33 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8313E28014C; Fri, 11 Apr 2025 00:02:33 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6D1C9280153; Fri, 11 Apr 2025 00:02:33 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 4D48728014C for ; Fri, 11 Apr 2025 00:02:33 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id DD617121BCD for ; Fri, 11 Apr 2025 04:02:33 +0000 (UTC) X-FDA: 83320416186.20.14C25DE Received: from mail-pl1-f202.google.com (mail-pl1-f202.google.com [209.85.214.202]) by imf03.hostedemail.com (Postfix) with ESMTP id 1937C2000B for ; Fri, 11 Apr 2025 04:02:31 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=vJ2PLKz+; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of 3VpT4ZwoKCKcJOHUNfbHUSNVVNSL.JVTSPUbe-TTRcHJR.VYN@flex--changyuanl.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3VpT4ZwoKCKcJOHUNfbHUSNVVNSL.JVTSPUbe-TTRcHJR.VYN@flex--changyuanl.bounces.google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1744344152; 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=Wf2ji0GFvpjHRr4bYeHuRuHgc+Z7uvA9rI8tjfanbZY=; b=D7zcUImqHWzuSEgYA82vvdpWs85vkQOGyIdBgGz5wxkK6TWThqXxMyR95mHcIgMkfJDdjQ 4tSt+gaQfHHx8nV19lx702yhvxtTxQd1Jj06mRlRuTE1wXLNqrAEuI2wBH2GIY6qwtyDVQ 28jPIQOADYt5Amiq+LFUYi0u8XahyfM= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=vJ2PLKz+; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf03.hostedemail.com: domain of 3VpT4ZwoKCKcJOHUNfbHUSNVVNSL.JVTSPUbe-TTRcHJR.VYN@flex--changyuanl.bounces.google.com designates 209.85.214.202 as permitted sender) smtp.mailfrom=3VpT4ZwoKCKcJOHUNfbHUSNVVNSL.JVTSPUbe-TTRcHJR.VYN@flex--changyuanl.bounces.google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1744344152; a=rsa-sha256; cv=none; b=TrYdHiW4p3kcW8LF+QRutaObmv9Rw9tVoTUH0WgfN16H62OZbqSwBBpm1sOB4cf6Cvs1LT vXdY+vLrNiCn3Pt93yylmE9nk0COFYehI+sHmL4va3RGgjw03mVjqVuL9j2VD89U0hBbnJ 6WpmBXPDOBchlbijClPcamnXFzwMZsE= Received: by mail-pl1-f202.google.com with SMTP id d9443c01a7336-227ea16b03dso20561895ad.3 for ; Thu, 10 Apr 2025 21:02:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1744344151; x=1744948951; darn=kvack.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=Wf2ji0GFvpjHRr4bYeHuRuHgc+Z7uvA9rI8tjfanbZY=; b=vJ2PLKz+zRhiHNX9t9JKXmGwOCYMak/UlROlULk6izb/9d0u2Y+Uz4qsRmd6cxrxct HjmkwJNNkqbck1VBCDGSNp8+Y7BT+iqccCsIrROjwSj6PamhwdMtaC3V2s1DEgdINQx6 wwp8YCJ5UvRtJfGU+1u4sYiGCkPtH4oiX850RkYPPXfbKnS98xCpW/Od0lbCFYGMv565 16WniKuL/ATP5E81yRZCoa3mPNhU/Itj7TSUpUr67Zk/KEcJwbnVhio1jxtOP+KpmUxG T6BfI3tAfuLTGQQzJo5lLf6vDdF/t2OTzgrnuoJiA9mUsHZl7fqV42tqmC5G4QUQdy7G KidQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744344151; x=1744948951; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=Wf2ji0GFvpjHRr4bYeHuRuHgc+Z7uvA9rI8tjfanbZY=; b=AlS1Y3YJr5xRvEdW39LTbf7WUbiSE6DrXhPayd/OFb+m4/xWYCT7f/f5h1yInR+pyw o9R2WaHzvskQvt2y1dxJMoatiTHWoAYf1+pl1UYlDMInBxYi4u7hfBrv8XrJmEISapZm ddOmX5p+wWVlqq9M5Oh1AZIYL+3yUUgIjXwkjrwdIhnnj93MD5pGcT6xLMeRSE/Ma+Ds 0L6Q9Z+US8Ht2qSTUdKjY+Zuau8OrnBp6M/72UIfYa6Aqa+k65mM7a0Cv0MJKkiec9AM nYeSmihcI/Tg+tuyu7x30WDXvnnbQCWhfYMJiPJ7zewcjPQcocoiZMrunaQdDok8sp04 2vQA== X-Forwarded-Encrypted: i=1; AJvYcCWsdWLBof4jI3eYukeOG8gDUYgy3jO/LDZw3PxbmgoYNblVR8R09/p8+RiYBe+vsshLnSjshU0oVA==@kvack.org X-Gm-Message-State: AOJu0YzcKMOKOLp6c+kY9ArB2qfbiQ2uacAlKEUfs5+x3YJ2aUoESLNU Rc5f76cZbgq34eS6nYjEzUgzCLDWA1eJvBMOGyahc+zmMNzA874MvMGI+n0X7DO04y6VTqxOYr7 O5ovGM5CWOvEDe8xTJg== X-Google-Smtp-Source: AGHT+IFO60SlOVXFGfc/szhJVpc75spqpNw2IzzXevlhy4U/0PpbLpo4ep7Q2sEdRzo+JtTGmKQPtisVnvfyVrfn X-Received: from plbkv16.prod.google.com ([2002:a17:903:28d0:b0:227:e456:d436]) (user=changyuanl job=prod-delivery.src-stubby-dispatcher) by 2002:a17:902:cf04:b0:220:bd61:a337 with SMTP id d9443c01a7336-22bea4c62b2mr18031945ad.23.1744344150948; Thu, 10 Apr 2025 21:02:30 -0700 (PDT) Date: Thu, 10 Apr 2025 21:02:07 -0700 In-Reply-To: Mime-Version: 1.0 References: X-Mailer: git-send-email 2.49.0.604.gff1f9ca942-goog Message-ID: <20250411040207.1785245-1-changyuanl@google.com> Subject: Re: [PATCH v5 09/16] kexec: enable KHO support for memory preservation From: Changyuan Lyu To: ptyadav@amazon.de Cc: akpm@linux-foundation.org, anthony.yznaga@oracle.com, arnd@arndb.de, ashish.kalra@amd.com, benh@kernel.crashing.org, bp@alien8.de, catalin.marinas@arm.com, changyuanl@google.com, corbet@lwn.net, dave.hansen@linux.intel.com, devicetree@vger.kernel.org, dwmw2@infradead.org, ebiederm@xmission.com, graf@amazon.com, hpa@zytor.com, jgg@nvidia.com, jgowans@amazon.com, kexec@lists.infradead.org, krzk@kernel.org, linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, luto@kernel.org, mark.rutland@arm.com, mingo@redhat.com, pasha.tatashin@soleen.com, pbonzini@redhat.com, peterz@infradead.org, robh+dt@kernel.org, robh@kernel.org, rostedt@goodmis.org, rppt@kernel.org, saravanak@google.com, skinsburskii@linux.microsoft.com, tglx@linutronix.de, thomas.lendacky@amd.com, will@kernel.org, x86@kernel.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: 1937C2000B X-Stat-Signature: 93xtewj1hzig8cbfp9sixq4us1qzww7h X-Rspam-User: X-HE-Tag: 1744344151-596067 X-HE-Meta: U2FsdGVkX1/ydeoq/wrYwA0SITmRAprS4WgClHW270pVdgAKcuJbqYigyTeiAKmuTGc7Pf/Wp5USypFGXNWJWpi4+wTwajIqDUAVJdt245Ptek2OavMoJ1egMMAdlyM3ktNnT91DRwV/mvyYqm46o6PY/DUoyiqSmvA0pF16f11DxEtpk1jnH2oHAcVQndiLKbpRz3dbLbdIZ0iP/P+nru60+izZ/BSEbGEBQ/jsy79B18jsvK8nhrVf3k99Ua6A1dP4qNbWH7tpJZOhJ9NEBSEdtBGyHGI/zHvjwueUFupkvpPxXQhdUXzdfZLT8HBN5Zbtvds2bM1FOBGDi5IJqSrv0YmofbkoNiWZGgD5mWm78Jc127K3nFJuGssWEcdgbqmzrxD/ULD9bsmOydvzqz8rZmx6F6lJ2MND/EAG6+QWTq+r/2OYi1jxMmIdZ/waMz9n1q+zoE0GjcoukvmjNgkQJm++sVMWdaNsOjCBxLpFmyoe71YQxGu9GNyL9RcMAVLSR7Kggmesc0uTtzM+oriQ7Zs7ZH7xHuUfCqeTPSXIJHe7J3rwAsPBjERuPxIRZFamOnVhxvR3BIiRFkQF7o2fxY0mowyT5mvLg4kLFJgE0dMds9/SekefuQoEfVbKsw+78ojHh6INwUF9hnOUiTDICPmnExnESAT3Yi1qALA/hYZK+XKpScXdQuikzLwg5uY7cajEpDrAITjosDmT+GoR10M79ehhVC44XsxGwS9M1nK7MHxkAF4qiMIiVvPdwU2wzxDprTFMEevk9iXuQvY3/JvwN2213KyOVNvnrBdGdRbFQJbZ+hf7Hn49ueOEGzyxAviC34ZZC5xoGqdfHEqRvRR62FUGGQ5zEp47duNxmk9ZBHLQdnte5cRQrsFQhPLro0B/ArYzQFCiFsnUfKAk0V4yNVV4DmIHqxBUWhdAzYPKpvNek2zVe1wzA9VIBQHP7RnEctpXbWtLNqO i2zCQ5/s 38QnkAu1Uoqpt4uibDwwCePUqnD+8SnJUKddoG4SzZ5LbsFIDdWKE0QSt4KZdqTT0ujzRhBxYmvMQd9mqgyCyAQTS21ykqvTGOk2N0+mLfzJ8DDswdWSRXIRQ+VGMgUHrbHgOPX+GNHYiLxGSq+cvYb1HUzmHMKuB/l9ZR02VC6YTU8NDek4/4IdnBoVK+0vszEIdnOnff1FxwUizlXgR0uGa6+HqukvPqWuU278aGZsVjfZTx0HU5AUNjetqe0FOY6gfpL2vCMiq0Hr9PMmpWJsk57HmVvy5B8V8lf3H4QqwVuCNqqln4aUOntSbO+LWKcE4Od6ZH47ubbXzduK8G5TQz5U+X0dSrNpA+6JJh/kp0kH6ynMIQ5RTzyS3PEg3i30O6tqTMtBwXfCUPmFyGEOlPadGFWceHEqXg/J3glzURljNg6AOCCW6hWIePfutEVG+g50QhQ9JKETmxZhtzkE1PKMLzkd9qpkWJ0VehaY9RaVLuSaMPjBachmZNkVTphlS28LC9sfLI+ALpsgO16xpniv3MEEaIuURh/F2lh3T/rJIlDRPNAakJApmaidnrVt/UJvRMUYqKrJcLWYfTtUXkwDe6L//Iip7xqit7hBD80mlFvp617YNBbTUqyJW0isLQgcXHDPGy5yQ8o8/04Zzi+eMm8JjL8hC 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: Hi Pratyush, Thanks for reviewing! On Wed, Apr 02, 2025 at 19:16:27 +0000, Pratyush Yadav wrote: > Hi Changyuan, > > On Wed, Mar 19 2025, Changyuan Lyu wrote: > > [...] > > +int kho_preserve_phys(phys_addr_t phys, size_t size) > > +{ > > + unsigned long pfn = PHYS_PFN(phys), end_pfn = PHYS_PFN(phys + size); > > + unsigned int order = ilog2(end_pfn - pfn); > > This caught my eye when playing around with the code. It does not put > any limit on the order, so it can exceed NR_PAGE_ORDERS. I agree with Mike that this should not be a problem. > Also, when > initializing the page after KHO, we pass the order directly to > prep_compound_page() without sanity checking it. The next kernel might > not support all the orders the current one supports. Perhaps something > to fix? Yes the new kernel should check the order. > > + unsigned long failed_pfn; > > + int err = 0; > > + > > + if (!kho_enable) > > + return -EOPNOTSUPP; > > + > > + down_read(&kho_out.tree_lock); > > + if (kho_out.fdt) { > > + err = -EBUSY; > > + goto unlock; > > + } > > + > > + for (; pfn < end_pfn; > > + pfn += (1 << order), order = ilog2(end_pfn - pfn)) { > > + err = __kho_preserve(&kho_mem_track, pfn, order); I realized another bug here: we did not check if "pfn" is aligned to 1 << order. For example, if the function input is @phys = 4096, @size = 8192, in the 1st iteration, pfn = 1, end_pfn = 3, order = 1. This is problematic since these 2 pages should be viewed as 2 folios of order 0, instead of 1 folio of order 1. > > + if (err) { > > + failed_pfn = pfn; > > + break; > > + } > > + } > [...] I will fix the 2 bugs above in V6. Best, Changyuan