On Tue, Jan 07, 2025 at 09:18:48AM +0800, Huacai Chen wrote: > Hi, all, I like simple fixes, so is this acceptable (based on an early > version from Koichiro Den)? No not at all. This is bizarre - in the mail you are replying to Koichiro agrees with me that the approach of his code that you've sent here (I don't know why) is fundamentally broken and suggest another. I am at a loss as to why you've sent this? Perhaps a miscommunication somewhere? :) In any case, please don't send '[PATCH] xxx' mails that aren't intended to be patches, a better form of this would be to say 'oh can we just do...' then to put this code in the mail underneath, without any '[PATCH]' prefix. But please do review the discussion - the below is insufficient as simple as it is (sadly) because the boot CPU's delayed work will never be executed. I will take a look at Koichiro's new approach as soon as I am able. Cheers! > --- > mm/vmstat.c | 7 ++++++- > 1 file changed, 6 insertions(+), 1 deletion(-) > > diff --git a/mm/vmstat.c b/mm/vmstat.c > index 0889b75cef14..1badc24a21ff 100644 > --- a/mm/vmstat.c > +++ b/mm/vmstat.c > @@ -2122,10 +2122,15 @@ static void __init start_shepherd_timer(void) > { > int cpu; > > - for_each_possible_cpu(cpu) > + for_each_possible_cpu(cpu) { > INIT_DEFERRABLE_WORK(per_cpu_ptr(&vmstat_work, cpu), > vmstat_update); > > + /* Will be enabled on vmstat_cpu_online() */ > + if (!cpu_online(cpu)) > + disable_delayed_work_sync(&per_cpu(vmstat_work, cpu)); > + } > + > schedule_delayed_work(&shepherd, > round_jiffies_relative(sysctl_stat_interval)); > } > -- > 2.43.5 >