Re: [PATCH v4] Weighted Interleave Auto-tuning

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

 



Hi Honggyu,

On Sun, 2 Feb 2025 22:51:34 +0900 Honggyu Kim <honggyu.km@xxxxxxxxx> wrote:

> On 2/2/25 01:53, Gregory Price wrote:
> > On Sat, Feb 01, 2025 at 11:49:31AM -0500, Gregory Price wrote:
> >>>    1. the auto mode set the weights as 10:5:1 for node{0-2}.
> >>>    2. node2 is offlined, then recalculation makes it as 2:1 for node{0,1}.
> > 
> > Point of clarification here:  a hot-unplug event won't cause
> > recalculation.
> > 
> > What actually causes re-weight is hot-plug reporting new capacity.
> 
> So do you mean re-weight is done only when a new node is onlined while
> offline doesn't trigger re-weight?
> 
> I see node_set_perf_attrs() does recalculation by calling
> mempolicy_set_node_perf(), then reduce_interleave_weights().
> 
> But I'm not sure if the re-weight is done via node_set_perf_attrs() only
> when a new node is onlined.
> 
> Could you please explain where I can find it?

Just chiming in to add some clarification:
Your analysis above is correct; reduce_interleave_weights() is only
called in 2 spots: once when the mode is switched from manual --> auto,
and the other when new bandwidth data is available, which calls
node_set_perf_attrs() and so on. In all other scenarios, iw_table is
preserved, and all values inside remain the same without manual changes.

A node offlining (or even onlining with no new bandwidth information)
will just mean that the node inherits whatever value is stored in
iw_table at that moment, whether that contains the default values
created on init or the last values that it had taken. 

> > So in this scenario, the weight will remain the same for node2.
> 
> If it's true, my scenario is wrong.
> 
> Thanks,
> Honggyu
> 
> > 
> >>>    3. the auto sysfs interface is set to 0 to make it manual mode.

Please let me know if this makes sense. Thank you for your review
as always, and have a great day!
Joshua




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux