Re: [PATCH RFC 2/2] cxl/memdev: Remove temporary variables from cxl_memdev_state

From: Alejandro Lucero Palau
Date: Wed Jan 29 2025 - 04:08:20 EST



On 1/28/25 18:51, Ira Weiny wrote:
As was mentioned by Dan[1] cxl_memdev_state stores values which are only
used during device probe. This clutters the data structure and is a
hindrance on code maintenance. Those values are best handled with
temporary variables.

Adjust the query of memory devices to read byte sizes in one call which
takes partition information into account. Use the values to create
partitions for device state initialization. Take care to separate the
mailbox queries from the initialization of device state to steer the
mbox code toward taking mailbox objects rather than memdev states.
Update spec references while changing these calls.

Link: https://lore.kernel.org/all/67871f05cd767_20f32947f@xxxxxxxxxxxxxxxxxxxxxxxxx.notmuch/ [1]
Signed-off-by: Ira Weiny <ira.weiny@xxxxxxxxx>


Reviewed-by: Alejandro Lucero <alucerop@xxxxxxx>


FWIW, I had (as part of current in-progress v10) similar struct than used here for Type2 initialization when there is no mailbox.


I had added a specific function for initialising that struct, but my idea now with this change is to have cxl_mem_dev_info initialized by the driver before calling cxl_dev_state_identify, and inside that function checking if total_bytes already != 0 for avoiding call the mbox command for getting the info. This will support both cases for Type2, with and without mailbox.