From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 72AFF38F24F for ; Wed, 17 Jun 2026 21:44:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.178 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781732659; cv=none; b=am9TIRQXWRZ6CtJ+uUIOxdH9pFcO8reAI/cgEvAdo1iX346ndsrBQE5OFUOSo3Dj/hzebrITryFa1B2EAYXBSmoAaevkI0i5hiMdCarlKhv2LHCYCFboyAvuM+Vvmhv/KES41xjOP22m5OpP9Tt2ekPHl1MGULLQzlKmmeJWIGY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781732659; c=relaxed/simple; bh=QZkluUiynr9FNYxq4HTOycC4NrsYyGj2uEdu6jqluEM=; h=MIME-Version:Content-Type:Subject:From:To:Cc:In-Reply-To: References:Date:Message-Id; b=VhBJeMn+jtIzJhFLuqEIzheWC5aqmJ07P+v1XCD3q9nl8vCuSkN783e6em7kE92XOIAaFPcxgN1kZTro7Kga43MHQXagtl9KXpXGyQ4l6z0cTqE7Z3AmQTLlIX5NzLJN+llIt9Qm4S2xhb33wMuOxyeeFEs3Qa/zO6J3UU9qEiU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com; spf=pass smtp.mailfrom=soleen.com; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b=khI/P5n9; arc=none smtp.client-ip=209.85.222.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=soleen.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=soleen.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=soleen.com header.i=@soleen.com header.b="khI/P5n9" Received: by mail-qk1-f178.google.com with SMTP id af79cd13be357-9158fbaa4bbso33307785a.1 for ; Wed, 17 Jun 2026 14:44:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=soleen.com; s=google; t=1781732657; x=1782337457; darn=vger.kernel.org; h=message-id:date:references:in-reply-to:cc:to:from:subject :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=mVgu7F5iihyCKu/G4stgDOvBtLDNemb1ZVF8TxvBGyg=; b=khI/P5n9hmcuFrRUy6h2bkY5bk9XcnNS0eD6l758HTPAyjklHfWQg8ucoD07kiq5zj xSe2G68Ip+fkF9DDlLJBN8IhLLaPDVJ0vsIKegrtQ6D8Vd8kgMBwKng0WjWMDuPlZT7L +7LBTGBPUUXfduYM/nQdZGkrxrYqW0phmqISexGseUcWBIl7FgEz0UcCp3R64A8hf5eu +M9++znpQE2aokzjcd3Cw/TUr41z18vsauXZITl7kCPYZIUk8UvkDWBBbMXRdXw+x293 81Fj34o6tpSdrKNbuz7ga+tbuMEmflaI9dHXWZqrC2N9cdtt+Hm+4IKU4EPdvSmgVD/U CUwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781732657; x=1782337457; h=message-id:date:references:in-reply-to:cc:to:from:subject :content-transfer-encoding:mime-version:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=mVgu7F5iihyCKu/G4stgDOvBtLDNemb1ZVF8TxvBGyg=; b=pRtQ8sgwO7zBHV0U9/2ohZ4dDfdTqjfzWwmHqpLFEOU34tEL0g/mQ9xsfs9WAlnVJL /KOJlvjFgfa/AkRiPZ0bZsHpTerpA3s8mw506AzNSF3Z+hfuJMdabR5+LoNE0Gw5b4kM 5TbkZUM/Yt71HmlTOlUot0W3NSyWxBxIs5dDrp6r3PqO+4AMz+HiYJuWhNAZVuVLglEA /W5iowOY/T4eT+4K9n7B5rEG9rB+zoGBUvCU4jKTblQlQvPVYOroes+jdSqcbEmgmm8y NwxD8njSZ3cJoDn0U6cA2eLyEz7uzFYmVoxqldGX9LK5teS/doE7mIHOr1huChyqNRtU 8Uww== X-Forwarded-Encrypted: i=1; AFNElJ+6LmGPwLs45v2G83fx7tyhFw53gZhZNBR3VLWFas8ecN60kaDxzF3GPrP0VLJnxMkOiO/PaTrO6/MtUbE=@vger.kernel.org X-Gm-Message-State: AOJu0YyyhU8P2CKyCtWwv7l+Xjk0CZjYFlIIrKVu0ePfjzeY6512i3cd kcKzLOT7+xKnsu0ZrYIKP82s+Aii7jQi4DR7MCPc4xZ/gYtsrJCiTPJDGfI5EVd5OdDkLTUw7oU O8FKpTr0= X-Gm-Gg: Acq92OHXXf1qEECYAIqDjWKHB+K5wfwbt5OsRSxI4e0NjpWdkx2oq8eZmdj1tYflKPu Wvc1/0UHICEqNrp36ht6SaehhuelR/V5GoZKSbpeh58XyXfSpYTU/tmuoq2mqAy6jzoiMFH3/YV mNTG1P80N05CRdaKgS91jIxgkHKrjKnk9AB8bTaD3YfhnRolP7WlPzxNcaP4tlp4x68qLK1TODm UCkQEo9jEloHHb0bMbyxL8sMKReF75FlbiaQSlMlp0pvaGb8h0jSjpeAFPUR+lgQ4r8knzi9hfO vjx0CwQNnvcXmRJOCFAzZFmQZZVd/vkYThJM8g6h5sdNuvV7aSkJC/U2yf3sYOo9GWbKvmHDade dwVvIf0NKwi5QhJJ2vB18qgNic91w/gdx4JV9p7Uhg2xrfhm8H1z3PzyBz+dWI4JMqECBF7ILLn h2I7YR/w4QjjtntNbT8Oyr28F+ttbPFGO0iBLP4aJKxkMNZQrDN0zUXjKQ3G56 X-Received: by 2002:a05:620a:4710:b0:915:7c1a:1387 with SMTP id af79cd13be357-91d8b4b82d3mr974163985a.38.1781732657342; Wed, 17 Jun 2026 14:44:17 -0700 (PDT) Received: from [127.0.1.1] ([71.181.43.54]) by smtp.gmail.com with ESMTPSA id af79cd13be357-91619f3c324sm1871381085a.21.2026.06.17.14.44.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 17 Jun 2026 14:44:16 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Subject: Re: [PATCH v6 01/12] PCI: liveupdate: Set up FLB handler for the PCI core From: Pasha Tatashin To: David Matlack Cc: Pasha Tatashin , kexec@lists.infradead.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-pci@vger.kernel.org, Adithya Jayachandran , Alexander Graf , Alex Williamson , Bjorn Helgaas , Chris Li , David Rientjes , Jacob Pan , Jason Gunthorpe , Jonathan Corbet , Josh Hilke , Leon Romanovsky , Lukas Wunner , Mike Rapoport , Parav Pandit , Pranjal Shrivastava , Pratyush Yadav , Saeed Mahameed , Samiullah Khawaja , Shuah Khan , Vipin Sharma , William Tu , Yi Liu In-Reply-To: References: <20260522202410.3104264-1-dmatlack@google.com> <20260522202410.3104264-2-dmatlack@google.com> <178124130274.908199.14827357870284807134.b4-review@b4> Date: Wed, 17 Jun 2026 21:44:14 +0000 Message-Id: <178173265446.1266136.13359060486033428626.b4-reply@b4> X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2540; i=pasha.tatashin@soleen.com; h=from:subject:message-id; bh=QZkluUiynr9FNYxq4HTOycC4NrsYyGj2uEdu6jqluEM=; b=owEBbQKS/ZANAwAKAbt3KEzbc3reAcsmYgBqMxUvPSD7ryLWoiq0RP6QzEW7bPRTwRVRK1iGh 4D9ux7x6z6JAjMEAAEKAB0WIQRBMaqT7LRvGvB/NmK7dyhM23N63gUCajMVLwAKCRC7dyhM23N6 3nBkEACIr+qaiFDURkLLKmlla4feY3MYdO7YczubseLaSQZvERTE2vIj19GVL+rKpHxOQTGKjdZ 6x4uuQzZ1P/ZhxH0s02iqkxWZaYln8HlySKfJ/yRRSj4Md9jM+ui4VxXSMdaEPmxaHTn5xpasmr 08wdcAPQu9z55T2Bx3Qokb6IF73WyIUIQROgK8q2E54RVuu1OnA14jbvCxyUwY6TTg5MiPHoqAo XeBjnZRpboyLxod5YlWDalguHWvvUODhNr3JCmQakJh0xzlC4m1tKgaU+DqgjnSco1PJQMMEgLU m5HRtfrrVci4ONbgHzaLQ7y6Rnw/X4gaS+3Ygz+jwYxxFHPGYbUCba/8f1sbRMPknCZhXjjNAS9 5qRcK97cF6j8aqGrVz+VzKp+z8E6XlWdZXI7Obrcq8C3iCZbvkrNvPcrIAlpx/1x9QmosSMGrpd Em28VGCwMHhk0wMDJjvRQ4a0B7+Royl5PzbuLa2m2gxPfLDrjrxkyvHkPydL8A9Tzkp97XCgZQ8 oMpmW3oXUmYg7Dep1lgEOdQgWiaW57ZS+s83v+pA87Zizu9zGVXVCSZD37h/nVmk5clhlqiH0po lcn9njTOGIFROCuQWZBh8jWGH2hMvIdPgL4UpOd7oEauXLnkDvjTcBR29cu6ThJH5cUTDeLIrFy VqYf2itiyoZMCqQ== X-Developer-Key: i=pasha.tatashin@soleen.com; a=openpgp; fpr=CAAAB722DD22A081F0D49F35633A6A993D43B569 On 2026-06-15 22:22:08+00:00, David Matlack wrote: > On 2026-06-12 05:15 AM, Pasha Tatashin wrote: > > > On Fri, 22 May 2026 20:23:59 +0000, David Matlack wrote: > > > > > > + * PCI device preservation across Live Update is built on top of the Live Update > > > > I prefer to just use acronyms FLB, and LUO, but have links to the actual > > documentations about them. > > > > So, something like this: > > > > * :ref:`FLB ` Data > > * ===================== > > * > > * PCI device preservation across Live Update is built on top of the > > * :ref:`LUO ` support for file preservation across kexec. Drivers > > > > And also add _luo and _flb to Documentation/core-api/liveupdate.rst > > > > .. _luo: > > > > ======================== > > Live Update Orchestrator > > ======================== > > > > .. _flb: > > Will do. > > I guess I will need to add another patch to add the link references to > liveupdate.rst? Yes, it can be a separate patch, but adding to this patch is also, OK. > > LUO File Lifecycle Bound Global Data > > ==================================== > > > > > > Nit, may be: > > Did you have a suggestion here that got lost? Yeah, I meant: #define pr_fmt(fmt) "PCI: " KBUILD_BASENAME ": " fmt > > > Please sort alphabetically. > > Will do. > > > I think, we want to use kho_block [1] (it is in liveupdate/next branch) > > to allow number of supported devices to be dynamic. > > > > To support this, we would redefine the ABI and tracking structures like > > so: > > > > /* include/linux/kho/abi/pci.h */ > > struct pci_ser { > > u64 devices; /* Phys address of the first block header of kho_block_set */ > > u64 nr_devices; /* Total count of active preserved devices */ > > } __packed; > > > > /* drivers/pci/liveupdate.c */ > > struct pci_flb_outgoing { > > struct pci_ser *ser; /* Points to the FDT/KHO-allocated ABI struct */ > > struct kho_block_set block_set; /* Controls the active blocks on the fly */ > > }; > > > > In __pci_liveupdate_preserve_device() , we would search for > > and reuse any inactive pci_dev_ser slot first, and only call > > kho_block_set_grow() to expand if no inactive slots are available. > > > > In pci_liveupdate_unpreserve_device(), we would simply > > mark the pci_dev_ser as inactive. > > Makes sense at a high level. I'll work on switching kho_block for v7 and > get back to you if I hit any issues.