Re: [PATCH 2/4] drivers/base/node: Add a helper function node_update_perf_attrs()

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

 




On 8/18/25 2:49 AM, David Hildenbrand wrote:
> On 14.08.25 19:16, Dave Jiang wrote:
>> Add helper function node_update_perf_attrs() to allow update of node access
>> coordinates computed by an external agent such as CXL. The helper allows
>> updating of coordinates after the attribute being created by HMAT.
>>
>> Signed-off-by: Dave Jiang <dave.jiang@xxxxxxxxx>
>> ---
>>   drivers/base/node.c  | 39 +++++++++++++++++++++++++++++++++++++++
>>   include/linux/node.h |  8 ++++++++
>>   2 files changed, 47 insertions(+)
>>
>> diff --git a/drivers/base/node.c b/drivers/base/node.c
>> index 3399594136b2..cf395da18c9b 100644
>> --- a/drivers/base/node.c
>> +++ b/drivers/base/node.c
>> @@ -248,6 +248,45 @@ void node_set_perf_attrs(unsigned int nid, struct access_coordinate *coord,
>>   }
>>   EXPORT_SYMBOL_GPL(node_set_perf_attrs);
>>   +/**
>> + * node_update_perf_attrs - Update the performance values for given access class
>> + * @nid: Node identifier to be updated
>> + * @coord: Heterogeneous memory performance coordinates
>> + * @access: The access class the for the given attributes
> 
> "the for": there is probably something missing

looks like extra 'the'

> 
>> + */
>> +void node_update_perf_attrs(unsigned int nid, struct access_coordinate *coord,
>> +                enum access_coordinate_class access)
>> +{
>> +    struct node_access_nodes *access_node;
>> +    struct node *node;
>> +    int i;
>> +
>> +    if (WARN_ON_ONCE(!node_online(nid)))
>> +        return;
>> +
>> +    node = node_devices[nid];
>> +    list_for_each_entry(access_node, &node->access_list, list_node) {
>> +        if (access_node->access != access)
>> +            continue;
>> +
>> +        access_node->coord = *coord;
>> +        for (i = 0; access_attrs[i]; i++) {
>> +            sysfs_notify(&access_node->dev.kobj,
>> +                     NULL, access_attrs[i]->name);
>> +        }
>> +        break;
>> +    }
>> +
>> +    /* When setting CPU access coordinates, update mempolicy */
>> +    if (access == ACCESS_COORDINATE_CPU) {
>> +        if (mempolicy_set_node_perf(nid, coord)) {
>> +            pr_info("failed to set mempolicy attrs for node %d\n",
>> +                nid);
>> +        }
> if (access == ACCESS_COORDINATE_CPU &&
>     mempolicy_set_node_perf(nid, coord))
>     pr_info("failed to set mempolicy attrs for node %d\n", nid);
> 
> or
> 
> if (access != ACCESS_COORDINATE_CPU)
>     return
> if (mempolicy_set_node_perf(nid, coord))
>     pr_info("failed to set mempolicy attrs for node %d\n", nid);
> 
ok


> 
> With both things sorted
> 
> Acked-by: David Hildenbrand <david@xxxxxxxxxx>
> 
Thanks for the ack




[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]
  Powered by Linux