[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 6/7] xen: introduce Kconfig ARCH_PAGING_MEMPOOL


  • To: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Luca Fancellu <luca.fancellu@xxxxxxx>
  • From: "Orzel, Michal" <michal.orzel@xxxxxxx>
  • Date: Wed, 26 Mar 2025 10:53:11 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8ww1C03i96xlOESi9lAh0G7AQCygX+oICVAn5P4Go9o=; b=zVBaSyXfsd3YJ5QzE30vbnLUHZ9UKxv9FQzF4zRL1w8s7p0ovxMtOT/3MNvQ336y3tNcPHBhkh8OrLYBzbAkeCUNsE9lduITdbjdRnCVALKf+hi4AD5dpIxDgRju4TQ4O6CnxDxu4Yhuwnbv+vE5hHoeXuP/6boRYzECapjzI6FW8m2IAboSInxm3U+XnCeSosqjlKDr5JwgmBzONq0dd5g388h9z8i3rqm9Q8ZQdRNMWDs+SJcZqZnyxFKoI52OPAlHal4JEytHNDVQMk1Mxv3HTUbp4emzwHBk3rA/ofpGtTkjI8C8oHQG+IB0rboKPmILXlCG9m7uqTdKiZIjpA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OH7u18YXeTZGPFU5sJZqc4iY9rXlqbl7N5RlWsYp2e1ZG3emSvFcuOuNFQPwHGbp73s4IrRlCXY3y84kNlCzei74Tq2ZgPM9RrLFyG5lnx2ltHAI20Z4tdGPlHyJgEt3FkLcM8cbGIuzy8cWILI/Mr+j4inQFxtNBH3lpTQTNmCr2xpr0vxRA3LRMF5JvZhxOA65jqs1H0kKXjmAEHgEUDnkwwW7FMngap6uXs9abhAgJ5qQZWsx7yT22bcRx2W28GOJuKbuBJxqxnmniwnXzbim6W+Lfg8+dNqNSH+ytZLWvHW/EHInCCHIaceeqrTeyWghjeZvEcq2dAaQhwTkCA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com;
  • Cc: Penny Zheng <Penny.Zheng@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <bertrand.marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Roger Pau Monné <roger.pau@xxxxxxxxxx>, Alistair Francis <alistair.francis@xxxxxxx>, Bob Eshleman <bobbyeshleman@xxxxxxxxx>, Connor Davis <connojdavis@xxxxxxxxx>, Wei Chen <wei.chen@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • Delivery-date: Wed, 26 Mar 2025 09:53:31 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


On 26/03/2025 10:46, Oleksii Kurochko wrote:
>       
> 
> 
> 
> On 3/26/25 10:39 AM, Orzel, Michal wrote:
>> On 20/03/2025 08:32, Jan Beulich wrote:
>>> On 19.03.2025 17:31, Oleksii Kurochko wrote:
>>>> On 3/19/25 12:35 PM, Jan Beulich wrote:
>>>>> On 18.03.2025 14:05, Oleksii Kurochko wrote:
>>>>>> On 3/17/25 9:07 PM, Luca Fancellu wrote:
>>>>>>> From: Penny Zheng<Penny.Zheng@xxxxxxx>
>>>>>>>
>>>>>>> ARM MPU system doesn't need to use paging memory pool, as MPU memory
>>>>>>> mapping table at most takes only one 4KB page, which is enough to
>>>>>>> manage the maximum 255 MPU memory regions, for all EL2 stage 1
>>>>>>> translation and EL1 stage 2 translation.
>>>>>>>
>>>>>>> Introduce ARCH_PAGING_MEMPOOL Kconfig common symbol, selected for Arm
>>>>>>> MMU systems, x86 and RISC-V.
>>>>>>>
>>>>>>> Wrap the code inside 'construct_domU' that deal with p2m paging
>>>>>>> allocation in a new function 'domain_p2m_set_allocation', protected
>>>>>>> by ARCH_PAGING_MEMPOOL, this is done in this way to prevent polluting
>>>>>>> the former function with #ifdefs and improve readability
>>>>>>>
>>>>>>> Introduce arch_{get,set}_paging_mempool_size stubs for architecture
>>>>>>> with !ARCH_PAGING_MEMPOOL.
>>>>>>>
>>>>>>> Remove 'struct paging_domain' from Arm 'struct arch_domain' when the
>>>>>>> field is not required.
>>>>>>>
>>>>>>> Signed-off-by: Penny Zheng<penny.zheng@xxxxxxx>
>>>>>>> Signed-off-by: Wei Chen<wei.chen@xxxxxxx>
>>>>>>> Signed-off-by: Luca Fancellu<luca.fancellu@xxxxxxx>
>>>>>>> ---
>>>>>>> v3 changes:
>>>>>>>    - Introduced ARCH_PAGING_MEMPOOL instead of HAS_PAGING_MEMPOOL
>>>>>>> v2 changes:
>>>>>>>    - make Kconfig HAS_PAGING_MEMPOOL common
>>>>>>>    - protect also "xen,domain-p2m-mem-mb" reading with 
>>>>>>> HAS_PAGING_MEMPOOL
>>>>>>>    - do not define p2m_teardown{_allocation} in this patch
>>>>>>>    - change commit message
>>>>>>> ---
>>>>>>>    xen/arch/arm/Kconfig              |  1 +
>>>>>>>    xen/arch/arm/dom0less-build.c     | 74 
>>>>>>> ++++++++++++++++++++-----------
>>>>>>>    xen/arch/arm/include/asm/domain.h |  2 +
>>>>>>>    xen/arch/riscv/Kconfig            |  1 +
>>>>>>>    xen/arch/x86/Kconfig              |  1 +
>>>>>>>    xen/common/Kconfig                |  3 ++
>>>>>>>    xen/include/xen/domain.h          | 17 +++++++
>>>>>>>    7 files changed, 73 insertions(+), 26 deletions(-)
>>>>>> For RISC-V:
>>>>>>    Reviewed-by: Oleksii Kurochko<oleksii.kurochko@xxxxxxxxx>
>>>>> Mind me asking then why RISC-V needs this at this point? The stubs surely
>>>>> were added to address some build issue, not because they are actively
>>>>> meaningful?
>>>> Only because we have stubs and not to have redefinition compilation
>>>> error. And, yes, they are not actively meaningful now, at least. I am
>>>> okay with not enabling of this config for RISC-V but then seems to me we
>>>> have to drop stubs in riscv/stubs.c. ~ Oleksii
>>> Well, I don't think it's "have to", but I agree that dropping them would
>>> make sense then (and be desirable).
>> @Jan, @Oleksii, is there anything blocking this patch to be committed (Luca
>> question does not seem to be answered)? Other patches in the series are 
>> ready to
>> be merged.
> I think the change in xen/arch/riscv/Kconfig should be dropped with dropping
> arch_{get,set}_paging_mempool_size() in riscv/stubs.c as they are defined in
> xen/domain.h for the case when CONFIG_ARCH_PAGING_MEMPOOL=n.
Ok, thanks for clarification. @Luca, please resend the series with this change.

~Michal




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.