Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753576AbbLNSc3 (ORCPT ); Mon, 14 Dec 2015 13:32:29 -0500 Received: from resqmta-ch2-03v.sys.comcast.net ([69.252.207.35]:43613 "EHLO resqmta-ch2-03v.sys.comcast.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932086AbbLNSc0 (ORCPT ); Mon, 14 Dec 2015 13:32:26 -0500 Date: Mon, 14 Dec 2015 12:32:23 -0600 (CST) From: Christoph Lameter X-X-Sender: cl@east.gentwo.org To: Andrew Morton cc: Michal Hocko , linux-mm@kvack.org, linux-kernel@vger.kernel.org, hannes@cmpxchg.org, penguin-kernel@I-love.SAKURA.ne.jp Subject: Re: vmstat: make vmstat_updater deferrable again and shut down on idle In-Reply-To: Message-ID: References: <20151210153118.4f39d6a4f04c96189ce015c9@linux-foundation.org> Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1019 Lines: 32 Hmmm... We got a race condition since quiet_vmstat touches cpu_stat_off which may not be allocated early in the bootup sequence. Causes oopses on boot. Subject: vmstat: quieting vmstat requires a running system Do not do anything unless the system is actually running. Otherwise we may crash on bootup. Signed-off-by: Christoph Lameter Index: linux/mm/vmstat.c =================================================================== --- linux.orig/mm/vmstat.c +++ linux/mm/vmstat.c @@ -1270,6 +1270,9 @@ static void vmstat_update(struct work_st */ 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)); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/