All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fengguang Wu <fengguang.wu@intel.com>
To: lkp@lists.01.org
Subject: Re: [scheduler] BUG: unable to handle kernel paging request at 000000000000ce50
Date: Thu, 31 Jul 2014 18:42:26 +0800	[thread overview]
Message-ID: <20140731104226.GB9455@localhost> (raw)
In-Reply-To: <alpine.DEB.2.11.1407300954420.4608@gentwo.org>

[-- Attachment #1: Type: text/plain, Size: 2084 bytes --]

Christoph,

On Wed, Jul 30, 2014 at 09:55:29AM -0500, Christoph Lameter wrote:
> On Wed, 30 Jul 2014, Fengguang Wu wrote:
> 
> > FYI, this commit seems to convert some kernel boot hang bug into
> > different BUG messages.
> 
> Hmmm. Still a bit confused as to why these messages occur.. Does this
> patch do any good?

Sorry I find that next-20140730 no long show the BUG. So there is no
way to test whether this patch fixed the problem.

Thanks,
Fengguang

> 
> Subject: vmstat ondemand: Fix online/offline races
> 
> Do not allow onlining/offlining while the shepherd task is checking
> for vmstat threads.
> 
> On offlining a processor do the right thing cancelling the vmstat
> worker thread if it exista and also exclude it from the shepherd
> process checks.
> 
> Signed-off-by: Christoph Lameter <cl@linux.com>
> 
> Index: linux/mm/vmstat.c
> ===================================================================
> --- linux.orig/mm/vmstat.c	2014-07-30 09:35:54.602662306 -0500
> +++ linux/mm/vmstat.c	2014-07-30 09:43:07.109037043 -0500
> @@ -1317,6 +1317,7 @@ static void vmstat_shepherd(struct work_
>  {
>  	int cpu;
> 
> +	get_online_cpus();
>  	/* Check processors whose vmstat worker threads have been disabled */
>  	for_each_cpu(cpu, cpu_stat_off)
>  		if (need_update(cpu) &&
> @@ -1325,6 +1326,7 @@ static void vmstat_shepherd(struct work_
>  			schedule_delayed_work_on(cpu, &per_cpu(vmstat_work, cpu),
>  				__round_jiffies_relative(sysctl_stat_interval, cpu));
> 
> +	put_online_cpus();
> 
>  	schedule_delayed_work(&shepherd,
>  		round_jiffies_relative(sysctl_stat_interval));
> @@ -1380,8 +1382,8 @@ static int vmstat_cpuup_callback(struct
>  		break;
>  	case CPU_DOWN_PREPARE:
>  	case CPU_DOWN_PREPARE_FROZEN:
> -		if (!cpumask_test_and_set_cpu(cpu, cpu_stat_off))
> -			cancel_delayed_work_sync(&per_cpu(vmstat_work, cpu));
> +		cancel_delayed_work_sync(&per_cpu(vmstat_work, cpu));
> +		cpumask_clear_cpu(cpu, cpu_stat_off);
>  		break;
>  	case CPU_DOWN_FAILED:
>  	case CPU_DOWN_FAILED_FROZEN:

WARNING: multiple messages have this Message-ID (diff)
From: Fengguang Wu <fengguang.wu@intel.com>
To: Christoph Lameter <cl@gentwo.org>
Cc: Tejun Heo <tj@kernel.org>, Jet Chen <jet.chen@intel.com>,
	Su Tao <tao.su@intel.com>, Yuanhan Liu <yuanhan.liu@intel.com>,
	LKP <lkp@01.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [scheduler] BUG: unable to handle kernel paging request at 000000000000ce50
Date: Thu, 31 Jul 2014 18:42:26 +0800	[thread overview]
Message-ID: <20140731104226.GB9455@localhost> (raw)
In-Reply-To: <alpine.DEB.2.11.1407300954420.4608@gentwo.org>

Christoph,

On Wed, Jul 30, 2014 at 09:55:29AM -0500, Christoph Lameter wrote:
> On Wed, 30 Jul 2014, Fengguang Wu wrote:
> 
> > FYI, this commit seems to convert some kernel boot hang bug into
> > different BUG messages.
> 
> Hmmm. Still a bit confused as to why these messages occur.. Does this
> patch do any good?

Sorry I find that next-20140730 no long show the BUG. So there is no
way to test whether this patch fixed the problem.

Thanks,
Fengguang

> 
> Subject: vmstat ondemand: Fix online/offline races
> 
> Do not allow onlining/offlining while the shepherd task is checking
> for vmstat threads.
> 
> On offlining a processor do the right thing cancelling the vmstat
> worker thread if it exista and also exclude it from the shepherd
> process checks.
> 
> Signed-off-by: Christoph Lameter <cl@linux.com>
> 
> Index: linux/mm/vmstat.c
> ===================================================================
> --- linux.orig/mm/vmstat.c	2014-07-30 09:35:54.602662306 -0500
> +++ linux/mm/vmstat.c	2014-07-30 09:43:07.109037043 -0500
> @@ -1317,6 +1317,7 @@ static void vmstat_shepherd(struct work_
>  {
>  	int cpu;
> 
> +	get_online_cpus();
>  	/* Check processors whose vmstat worker threads have been disabled */
>  	for_each_cpu(cpu, cpu_stat_off)
>  		if (need_update(cpu) &&
> @@ -1325,6 +1326,7 @@ static void vmstat_shepherd(struct work_
>  			schedule_delayed_work_on(cpu, &per_cpu(vmstat_work, cpu),
>  				__round_jiffies_relative(sysctl_stat_interval, cpu));
> 
> +	put_online_cpus();
> 
>  	schedule_delayed_work(&shepherd,
>  		round_jiffies_relative(sysctl_stat_interval));
> @@ -1380,8 +1382,8 @@ static int vmstat_cpuup_callback(struct
>  		break;
>  	case CPU_DOWN_PREPARE:
>  	case CPU_DOWN_PREPARE_FROZEN:
> -		if (!cpumask_test_and_set_cpu(cpu, cpu_stat_off))
> -			cancel_delayed_work_sync(&per_cpu(vmstat_work, cpu));
> +		cancel_delayed_work_sync(&per_cpu(vmstat_work, cpu));
> +		cpumask_clear_cpu(cpu, cpu_stat_off);
>  		break;
>  	case CPU_DOWN_FAILED:
>  	case CPU_DOWN_FAILED_FROZEN:

  parent reply	other threads:[~2014-07-31 10:42 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-30 13:56 [scheduler] BUG: unable to handle kernel paging request at 000000000000ce50 Fengguang Wu
2014-07-30 13:56 ` Fengguang Wu
2014-07-30 13:58 ` [scheduler] BUG: unable to handle kernel paging request at 000000000000d110 Fengguang Wu
2014-07-30 13:58   ` Fengguang Wu
2014-07-30 23:44   ` David Rientjes
2014-07-30 23:44     ` David Rientjes
2014-07-30 14:55 ` [scheduler] BUG: unable to handle kernel paging request at 000000000000ce50 Christoph Lameter
2014-07-30 14:55   ` Christoph Lameter
2014-07-31  8:05   ` Lai Jiangshan
2014-07-31  8:05     ` Lai Jiangshan
2014-07-31 10:42   ` Fengguang Wu [this message]
2014-07-31 10:42     ` Fengguang Wu
2014-08-01 13:54     ` Christoph Lameter
2014-08-01 13:54       ` Christoph Lameter
2014-07-31  7:56 ` Lai Jiangshan
2014-07-31  7:56   ` Lai Jiangshan
2014-08-01 13:58   ` Christoph Lameter
2014-08-01 13:58     ` Christoph Lameter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140731104226.GB9455@localhost \
    --to=fengguang.wu@intel.com \
    --cc=lkp@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.