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

Re: [PATCH v2] xen/arm: Fully initialise struct membanks_hdr fields


  • To: Michal Orzel <michal.orzel@xxxxxxx>
  • From: Luca Fancellu <Luca.Fancellu@xxxxxxx>
  • Date: Thu, 9 Jan 2025 10:09:58 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.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=ZKxiY85iOdYzyELpJW++TTgyoEqWft1bhoqEQ22Et30=; b=pSVSWa5dtUXRF3/Fxuu6dgztWX05bTuvEpg8bLUf+azMHIr1FwkUSoVIll3QDITNADlG1xOiLqZ/8lMY+KYcDAUrLJA6B/TeI+Qi2E9ZL+NQdl4KG0HX0x1a8Q4sx93j5X2NTbJdnu6SMjqw1Z2fnVbYM4UYsXtdtpkRGBanCxh1b0NoSU6x+6s4Cn+YjH5W23g3Cjn76tu1d7ss6/nZ44oI94vYGDZibgDUSkrx3dsmjbRFji9mP4N1+tKYHmrtkEv31WQxINjGHn2rY0387B+OiqMXivn3SsrMSjBZhempFlAGGTNgbeLVMVOGULEjsE9+UziCx1n2PrvuD2TE8A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OzhHYg4LqFCJlaiwmaYo+lXeb4z0yV5rm3XiwlObOEYbYVSb2IwgSyTkI2EfEWFpnVDJjjOvsqraPEYR0vWcjSRydL3o95GoQ+sj5ppVswG/iUOuZu5cFvLpQE7LR9bjmAI7Dzg+tvnaWMpxGeEBfUzqeXEVbCcYl2Csxw7b3DIHRh55MtkrhygMSN7ClE6QuFLo3yOm0NleZyc5WSXvz4uMOCS+TuP66NuKfCKDqsRmtjQ84wrGI6N76LV/ebyCG5y11Ou5NUJIFNwLL/mrxNTp8mX4VE/Zp2/qkUfv1LNDd9FRzoyv+GJvxEDLnCyfbxGAL63CIeUATHTjKsMnGg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Julien Grall <julien@xxxxxxx>, Bertrand Marquis <Bertrand.Marquis@xxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>, Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
  • Delivery-date: Thu, 09 Jan 2025 10:10:14 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Thread-index: AQHbYnjhSKvjiFv/ZkKm32Sq0WkbbrMONdAAgAACYAA=
  • Thread-topic: [PATCH v2] xen/arm: Fully initialise struct membanks_hdr fields

Hi Michal,

> On 9 Jan 2025, at 10:00, Michal Orzel <michal.orzel@xxxxxxx> wrote:
> 
> Hi Luca,
> 
> Is this patch for 4.20? I would say so, therefore it should have "for-4.20" 
> tag and Oleksii as release manager
> should be CCed. Doing it now.

Thanks, I forgot the procedure

> 
>> ---
>> ---
>> xen/arch/arm/domain_build.c       | 13 ++++---------
>> xen/arch/arm/include/asm/kernel.h |  5 ++++-
>> xen/arch/arm/static-shmem.c       |  3 ++-
>> xen/include/xen/bootfdt.h         | 16 ++++++++++++++++
>> 4 files changed, 26 insertions(+), 11 deletions(-)
>> 
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index b072a16249fe..9e3132fb21d8 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -1039,7 +1039,7 @@ void __init allocate_memory(struct domain *d, struct 
>> kernel_info *kinfo)
>>      */
>>     if ( is_hardware_domain(d) )
>>     {
>> -        struct membanks *gnttab = xzalloc_flex_struct(struct membanks, 
>> bank, 1);
>> +        struct membanks *gnttab = membanks_xzalloc(1, RESERVED_MEMORY);
>>         /*
>>          * Exclude the following regions:
>>          * 1) Remove reserved memory
>> @@ -1057,13 +1057,10 @@ void __init allocate_memory(struct domain *d, struct 
>> kernel_info *kinfo)
>>         gnttab->bank[0].start = kinfo->gnttab_start;
>>         gnttab->bank[0].size = kinfo->gnttab_size;
>> 
>> -        hwdom_free_mem = xzalloc_flex_struct(struct membanks, bank,
>> -                                             NR_MEM_BANKS);
>> +        hwdom_free_mem = membanks_xzalloc(NR_MEM_BANKS, MEMORY);
>>         if ( !hwdom_free_mem )
>>             goto fail;
>> 
>> -        hwdom_free_mem->max_banks = NR_MEM_BANKS;
>> -
>>         if ( find_unallocated_memory(kinfo, mem_banks, ARRAY_SIZE(mem_banks),
>>                                      hwdom_free_mem, add_hwdom_free_regions) 
>> )
>>             goto fail;
>> @@ -1293,7 +1290,7 @@ static int __init find_host_extended_regions(const 
>> struct kernel_info *kinfo,
>>                                              struct membanks *ext_regions)
>> {
>>     int res;
>> -    struct membanks *gnttab = xzalloc_flex_struct(struct membanks, bank, 1);
>> +    struct membanks *gnttab = membanks_xzalloc(1, RESERVED_MEMORY);
>> 
>>     /*
>>      * Exclude the following regions:
>> @@ -1374,12 +1371,10 @@ int __init make_hypervisor_node(struct domain *d,
>>     }
>>     else
>>     {
>> -        ext_regions = xzalloc_flex_struct(struct membanks, bank, 
>> NR_MEM_BANKS);
>> +        ext_regions = membanks_xzalloc(NR_MEM_BANKS, RESERVED_MEMORY);
> I'm a bit confused what is the expectations behind using different types of 
> enum region_type, mostly because it can point to
> different address spaces depending on the context. Above, you marked gnttab 
> as RESERVED_MEMORY (I guess because this
> region has already been found - but in fact it is still unused) and 
> hwdom_free_mem as MEMORY. So I would at least expect
> ext_regions to be of MEMORY type as well. After all both hwdom_free_mem and 
> ext_regions contain
> banks of unused/free memory (although former lists host memory while latter 
> can also contain guest physical
> memory). Could you please clarify the intended use?

You are right, that should be MEMORY, my bad! Could it be something addressable 
on commit or should I send another one?

Cheers,
Luca




 


Rackspace

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