Re: [PATCH v5 01/11] mm/mempolicy: implement the sysfs-based weighted_interleave interface

From: Gregory Price
Date: Tue Jan 02 2024 - 21:47:07 EST


On Tue, Jan 02, 2024 at 03:41:08PM +0800, Huang, Ying wrote:
> Think about the default weight value via HMAT/CDAT again. It may be not
> a good idea to use "1" as default even for now.
>
> For example,
>
> - The memory bandwidth of DRAM is 100GB, whose default weight is "1".
>
> - We hot-plug CXL.mem A with memory bandwidth 20GB. So, we change the
> weight of DRAM to 5, and use "1" as the weight of CXL.mem A.
>
> - We hot-plug CXL.mem B with memory bandwidth 10GB. So, we change the
> weight of DRAM to 10, the weight of CXL.mem A to 2, and use "1" as the
> weight of CXL.mem B.
>
> That is, if we use "1" as default weight, we need to change weights of
> nodes frequently because we haven't a "base" weight. The best candidate
> base weight is the weight of DRAM node. For example, if we set the
> default weight of DRAM node to be "16" and use that as the base weight,
> we don't need to change it in most cases. The weight of other nodes can
> be set according to the ratio of its memory bandwidth to that of DRAM.
>
> This makes it easy to set the default weight via HMAT/CDAT too.
>
> What do you think about that?
>

Giving this more thought.

Hotplug should be an incredibly rare event. I don't think swapping defaults
"frequently" is a real problem we should handle.

It's expected that dynamic capacity devices will not cause a node to
hotplug, but instead cause a node to grow/shrink.

Seems perfectly fine to rebalance weights in response to rare events.

~Gregory