Re: mm, vmstat: kernel BUG at mm/vmstat.c:1408!

From: Shiraz Hashim
Date: Tue Jan 12 2016 - 06:31:40 EST


On Mon, Dec 21, 2015 at 6:38 PM, Christoph Lameter <cl@xxxxxxxxx> wrote:
> Index: linux/mm/vmstat.c
> ===================================================================
> --- linux.orig/mm/vmstat.c
> +++ linux/mm/vmstat.c
> @@ -1419,11 +1419,9 @@ void quiet_vmstat(void)
> if (system_state != SYSTEM_RUNNING)
> return;
>
> - do {
> - if (!cpumask_test_and_set_cpu(smp_processor_id(), cpu_stat_off))
> - cancel_delayed_work(this_cpu_ptr(&vmstat_work));
> -
> - } while (refresh_cpu_vm_stats(false));
> + refresh_cpu_vm_stats(false);
> + cancel_delayed_work(this_cpu_ptr(&vmstat_work));
>

shouldn't this be cancel_delayed_work_sync ?

> + cpumask_set_cpu(smp_processor_id(), cpu_stat_off);
>

else ongoing vmstat_update can again encounter cpu_stat_off set ?

> }
>

--
regards
Shiraz Hashim