Re: [PATCH v3 3/3] cxl/region: Simplify cxl_region_nid()

Huang, Ying
2024-06-21T02:27:21Z

Jonathan Cameron <Jonathan.Cameron@Huawei.com> writes:

> On Tue, 18 Jun 2024 16:46:39 +0800
> Huang Ying <ying.huang@intel.com> wrote:
>
>> The node ID of the region can be gotten via resource start address
>> directly. This simplifies the implementation of cxl_region_nid().
>>
>> Signed-off-by: "Huang, Ying" <ying.huang@intel.com>
>> Suggested-by: Alison Schofield <alison.schofield@intel.com>
>> Cc: Dan Williams <dan.j.williams@intel.com>
>> Cc: Andrew Morton <akpm@linux-foundation.org>
>> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
>> Cc: Dave Jiang <dave.jiang@intel.com>
>> Cc: Bharata B Rao <bharata@amd.com>
>> Cc: Alistair Popple <apopple@nvidia.com>
>> Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
>> Cc: Davidlohr Bueso <dave@stgolabs.net>
>> Cc: Vishal Verma <vishal.l.verma@intel.com>
>> Cc: Ira Weiny <ira.weiny@intel.com>
>> ---
>> drivers/cxl/core/region.c | 10 ++++------
>> 1 file changed, 4 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/cxl/core/region.c b/drivers/cxl/core/region.c
>> index dc15ceba7ab7..605efe3562c6 100644
>> --- a/drivers/cxl/core/region.c
>> +++ b/drivers/cxl/core/region.c
>> @@ -2309,15 +2309,13 @@ static bool cxl_region_update_coordinates(struct cxl_region *cxlr, int nid)
>> static int cxl_region_nid(struct cxl_region *cxlr)
>> {
>> struct cxl_region_params *p = &cxlr->params;
>> - struct cxl_endpoint_decoder *cxled;
>> - struct cxl_decoder *cxld;
>> + struct resource *res;
>>
>> guard(rwsem_read)(&cxl_region_rwsem);
>> - cxled = p->targets[0];
>> - if (!cxled)
>> + res = p->res;
>
> Odd indent - I think spaces rather than tab. Otherwise seems
> reasonable.

Good catch! I used spaces accidently.

Hi, Dave,

Do you need me to send a new version? Or you can change it?

> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Thank you very much for your review!

--
Best Regards,
Huang, Ying

>
>> + if (!res)
>> return NUMA_NO_NODE;
>> - cxld = &cxled->cxld;
>> - return phys_to_target_node(cxld->hpa_range.start);
>> + return phys_to_target_node(res->start);
>> }
>>
>> static int cxl_region_perf_attrs_callback(struct notifier_block *nb,