Re: [PATCH v3] Weighted interleave auto-tuning

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

 



Hi, Honggyu,

Honggyu Kim <honggyu.kim@xxxxxx> writes:

> Hi Ying and Joshua,
>
> On 1/21/2025 8:17 PM, Huang, Ying wrote:
>> Joshua Hahn <joshua.hahnjy@xxxxxxxxx> writes:
>> 

[snip]

>>> diff --git a/Documentation/ABI/testing/sysfs-kernel-mm-mempolicy-weighted-interleave b/Documentation/ABI/testing/sysfs-kernel-mm-mempolicy-weighted-interleave
>>> index 0b7972de04e9..d30dc29c53ff 100644
>>> --- a/Documentation/ABI/testing/sysfs-kernel-mm-mempolicy-weighted-interleave
>>> +++ b/Documentation/ABI/testing/sysfs-kernel-mm-mempolicy-weighted-interleave
>>> @@ -20,6 +20,30 @@ Description:	Weight configuration interface for nodeN
>>>   		Minimum weight: 1
>>>   		Maximum weight: 255
>>>   -		Writing an empty string or `0` will reset the weight
>>> to the
>>> -		system default. The system default may be set by the kernel
>>> -		or drivers at boot or during hotplug events.
>>> +		Writing invalid values (i.e. any values not in [1,255],
>>> +		empty string, ...) will return -EINVAL.
>>> +
>>> +What:		/sys/kernel/mm/mempolicy/weighted_interleave/mode
>>> +Date:		January 2025
>>> +Contact:	Linux memory management mailing list <linux-mm@xxxxxxxxx>
>>> +Description:	Auto-weighting configuration interface
>>> +
>>> +		Configuration modes for weighted interleave. Can take one of
>>> +		two options: "manual" and "auto". Default is "auto".
>>> +
>>> +		In auto mode, all node weights are re-calculated and overwritten
>>> +		(visible via the nodeN interfaces) whenever new bandwidth data
>>> +		is made available either during boot or hotplug events.
>>> +
>>> +		In manual mode, node weights can only be updated by the user.
>>> +		If a node is hotplugged while the user is in manual mode,
>>> +		the node will have a default weight of 1.
>>> +
>>> +		Modes can be changed by writing either "auto" or "manual" to the
>>> +		interface. All other strings will be ignored, and -EINVAL will
>>> +		be returned. If "auto" is written to the interface but the
>>> +		recalculation / updates fail at any point (-ENOMEM or -ENODEV)
>>> +		then the mode will remain in manual mode.
>>> +
>>> +		Writing a new weight to a node directly via the nodeN interface
>>> +		will also automatically update the system to manual mode.
>> IMHO, this interface is somewhat hard to be used.  Users need to
>> know
>> which value is legal.  So, this will become something like,
>> $ cat mode
>> auto [manual]
>> $ echo auto > mode
>> $ cat mode
>> [auto] manual
>
> This is exactly I internally proposed to Hyeonggon, but couldn't share
> the idea directly here.
>
>> Unless it's possible we will add more modes in the future, this is
>> kind
>> of overkill for me.  How about something simpler as below?
>> $ cat auto
>> true
>> $ echo 0 > auto
>> $ cat auto
>> false
>
> That also makes sense, but I feel like somewhat vague what "auto" false
> means. The "auto" might be better to be "use_hmat" instead and this
> makes "use_hmat" false more meaningful. "use_hmat_weight" or
> "use_hmat_info" might be another candidates.

As Gregory pointed out in another email.  hmat isn't good because it's
platform dependent.  We may use something else to get default weights on
another platform.

I'm open to other platform independent naming.  For example, use_default.

[snip]

---
Best Regards,
Huang, Ying




[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