Re: [PATCH v8 08/16] x86/virt/tdx: Add placeholder to construct TDMRs to cover all TDX memory regions

From: Dave Hansen
Date: Mon Jan 09 2023 - 19:48:04 EST


On 1/9/23 16:40, Huang, Kai wrote:
> On Fri, 2023-01-06 at 11:24 -0800, Dave Hansen wrote:
...
>> Also, tdmr_sz and max_tdmrs can both be derived from 'sysinfo'. Do they
>> really need to be stored here?
>
> It's not mandatory to keep them here. I did it mainly because I want to avoid
> passing 'sysinfo' as argument for almost all functions related to constructing
> TDMRs.

I don't think it hurts readability that much. On the contrary, it makes
it more clear what data is needed for initialization.

>> If so, I think I'd probably do something
>> like this with the structure:
>>
>> struct tdmr_info_list {
>> struct tdmr_info *tdmrs;
>> int nr_consumed_tdmrs; // How many @tdmrs are in use
>>
>> /* Metadata for freeing this structure: */
>> int tdmr_sz; // Size of one 'tdmr_info' (has a flex array)
>> int max_tdmrs; // How many @tdmrs are allocated
>> };
>>
>> Modulo whataver folks are doing for comments these days.
>
> Looks nice to me. Will use. A slight thing is 'tdmr_sz' is also used to get
> the TDMR at a given index, but not just freeing the structure.
>
> Btw, is C++ style comment "//" OK in kernel code?

It's OK with me, but I don't think there's much consensus on it.
Probably best to stick with normal arch/x86 style for now.