All of lore.kernel.org
 help / color / mirror / Atom feed
From: Paul Jackson <pj@sgi.com>
To: travis@sgi.com
Cc: linux-mm@kvack.org, ak@suse.de, linux-kernel@vger.kernel.org,
	linuxppc-dev@ozlabs.org, sparclinux@vger.kernel.org,
	akpm@linux-foundation.org, clameter@sgi.com
Subject: Re: [PATCH 08/10] ia64: Convert cpu_sibling_map to a per_cpu data array (v3)
Date: Fri, 28 Sep 2007 02:49:01 -0700	[thread overview]
Message-ID: <20070928024901.24ab6c99.pj@sgi.com> (raw)
In-Reply-To: <20070912015647.214306428@sgi.com>

Mike,

I think there is a bug either in this ia64 patch, or in the related
generic arch patch: Convert cpu_sibling_map to be a per cpu variable
(v3).

It dies early in boot on me, on the SGI internal 8 processor IA64
system that you and I know as 'margin'.  The death is a hard hang, due
to a corrupt stack, due to a bogus cpu index.

I haven't tracked it down all the way, but have gotten this far.  If I add
the following patch, I get a panic on the BUG_ON if I have these two patches
in 2.6.23-rc8-mm1, but it boots just fine if I don't have these two patches.

It seems that the "cpu_sibling_map[cpu]" cpumask_t is empty (all zero
bits) with your two patches applied, but has some non-zero bits
otherwise, which leads to 'group' being NR_CPUS instead of a useful CPU
number.  Unfortunately, I have no idea why the "cpu_sibling_map[cpu]"
cpumask_t is empty -- good luck on that part.

The patch that catches this bug earlier is this:

--- 2.6.23-rc8-mm1.orig/kernel/sched.c	2007-09-28 01:42:20.144561024 -0700
+++ 2.6.23-rc8-mm1/kernel/sched.c	2007-09-28 02:27:14.239075497 -0700
@@ -5905,6 +5905,7 @@ static int cpu_to_phys_group(int cpu, co
 #else
 	group = cpu;
 #endif
+	BUG_ON(group == NR_CPUS);
 	if (sg)
 		*sg = &per_cpu(sched_group_phys, group);
 	return group;


-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@sgi.com> 1.925.600.0401

WARNING: multiple messages have this Message-ID (diff)
From: Paul Jackson <pj@sgi.com>
To: travis@sgi.com
Cc: akpm@linux-foundation.org, ak@suse.de, clameter@sgi.com,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	linuxppc-dev@ozlabs.org, sparclinux@vger.kernel.org
Subject: Re: [PATCH 08/10] ia64: Convert cpu_sibling_map to a per_cpu data
Date: Fri, 28 Sep 2007 09:49:01 +0000	[thread overview]
Message-ID: <20070928024901.24ab6c99.pj@sgi.com> (raw)
In-Reply-To: <20070912015647.214306428@sgi.com>

Mike,

I think there is a bug either in this ia64 patch, or in the related
generic arch patch: Convert cpu_sibling_map to be a per cpu variable
(v3).

It dies early in boot on me, on the SGI internal 8 processor IA64
system that you and I know as 'margin'.  The death is a hard hang, due
to a corrupt stack, due to a bogus cpu index.

I haven't tracked it down all the way, but have gotten this far.  If I add
the following patch, I get a panic on the BUG_ON if I have these two patches
in 2.6.23-rc8-mm1, but it boots just fine if I don't have these two patches.

It seems that the "cpu_sibling_map[cpu]" cpumask_t is empty (all zero
bits) with your two patches applied, but has some non-zero bits
otherwise, which leads to 'group' being NR_CPUS instead of a useful CPU
number.  Unfortunately, I have no idea why the "cpu_sibling_map[cpu]"
cpumask_t is empty -- good luck on that part.

The patch that catches this bug earlier is this:

--- 2.6.23-rc8-mm1.orig/kernel/sched.c	2007-09-28 01:42:20.144561024 -0700
+++ 2.6.23-rc8-mm1/kernel/sched.c	2007-09-28 02:27:14.239075497 -0700
@@ -5905,6 +5905,7 @@ static int cpu_to_phys_group(int cpu, co
 #else
 	group = cpu;
 #endif
+	BUG_ON(group = NR_CPUS);
 	if (sg)
 		*sg = &per_cpu(sched_group_phys, group);
 	return group;


-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@sgi.com> 1.925.600.0401

WARNING: multiple messages have this Message-ID (diff)
From: Paul Jackson <pj@sgi.com>
To: travis@sgi.com
Cc: akpm@linux-foundation.org, ak@suse.de, clameter@sgi.com,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	linuxppc-dev@ozlabs.org, sparclinux@vger.kernel.org
Subject: Re: [PATCH 08/10] ia64: Convert cpu_sibling_map to a per_cpu data array (v3)
Date: Fri, 28 Sep 2007 02:49:01 -0700	[thread overview]
Message-ID: <20070928024901.24ab6c99.pj@sgi.com> (raw)
In-Reply-To: <20070912015647.214306428@sgi.com>

Mike,

I think there is a bug either in this ia64 patch, or in the related
generic arch patch: Convert cpu_sibling_map to be a per cpu variable
(v3).

It dies early in boot on me, on the SGI internal 8 processor IA64
system that you and I know as 'margin'.  The death is a hard hang, due
to a corrupt stack, due to a bogus cpu index.

I haven't tracked it down all the way, but have gotten this far.  If I add
the following patch, I get a panic on the BUG_ON if I have these two patches
in 2.6.23-rc8-mm1, but it boots just fine if I don't have these two patches.

It seems that the "cpu_sibling_map[cpu]" cpumask_t is empty (all zero
bits) with your two patches applied, but has some non-zero bits
otherwise, which leads to 'group' being NR_CPUS instead of a useful CPU
number.  Unfortunately, I have no idea why the "cpu_sibling_map[cpu]"
cpumask_t is empty -- good luck on that part.

The patch that catches this bug earlier is this:

--- 2.6.23-rc8-mm1.orig/kernel/sched.c	2007-09-28 01:42:20.144561024 -0700
+++ 2.6.23-rc8-mm1/kernel/sched.c	2007-09-28 02:27:14.239075497 -0700
@@ -5905,6 +5905,7 @@ static int cpu_to_phys_group(int cpu, co
 #else
 	group = cpu;
 #endif
+	BUG_ON(group == NR_CPUS);
 	if (sg)
 		*sg = &per_cpu(sched_group_phys, group);
 	return group;


-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@sgi.com> 1.925.600.0401

WARNING: multiple messages have this Message-ID (diff)
From: Paul Jackson <pj@sgi.com>
To: travis@sgi.com
Cc: akpm@linux-foundation.org, ak@suse.de, clameter@sgi.com,
	linux-mm@kvack.org, linux-kernel@vger.kernel.org,
	linuxppc-dev@ozlabs.org, sparclinux@vger.kernel.org
Subject: Re: [PATCH 08/10] ia64: Convert cpu_sibling_map to a per_cpu data array (v3)
Date: Fri, 28 Sep 2007 02:49:01 -0700	[thread overview]
Message-ID: <20070928024901.24ab6c99.pj@sgi.com> (raw)
In-Reply-To: <20070912015647.214306428@sgi.com>

Mike,

I think there is a bug either in this ia64 patch, or in the related
generic arch patch: Convert cpu_sibling_map to be a per cpu variable
(v3).

It dies early in boot on me, on the SGI internal 8 processor IA64
system that you and I know as 'margin'.  The death is a hard hang, due
to a corrupt stack, due to a bogus cpu index.

I haven't tracked it down all the way, but have gotten this far.  If I add
the following patch, I get a panic on the BUG_ON if I have these two patches
in 2.6.23-rc8-mm1, but it boots just fine if I don't have these two patches.

It seems that the "cpu_sibling_map[cpu]" cpumask_t is empty (all zero
bits) with your two patches applied, but has some non-zero bits
otherwise, which leads to 'group' being NR_CPUS instead of a useful CPU
number.  Unfortunately, I have no idea why the "cpu_sibling_map[cpu]"
cpumask_t is empty -- good luck on that part.

The patch that catches this bug earlier is this:

--- 2.6.23-rc8-mm1.orig/kernel/sched.c	2007-09-28 01:42:20.144561024 -0700
+++ 2.6.23-rc8-mm1/kernel/sched.c	2007-09-28 02:27:14.239075497 -0700
@@ -5905,6 +5905,7 @@ static int cpu_to_phys_group(int cpu, co
 #else
 	group = cpu;
 #endif
+	BUG_ON(group == NR_CPUS);
 	if (sg)
 		*sg = &per_cpu(sched_group_phys, group);
 	return group;


-- 
                  I won't rest till it's the best ...
                  Programmer, Linux Scalability
                  Paul Jackson <pj@sgi.com> 1.925.600.0401

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2007-09-28  9:49 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-12  1:56 [PATCH 00/10] x86: Reduce Memory Usage and Inter-Node message traffic (v3) travis
2007-09-12  1:56 ` travis
2007-09-12  1:56 ` travis
2007-09-12  1:56 ` travis
2007-09-12  1:56 ` [PATCH 01/10] x86: remove x86_cpu_to_log_apicid array (v3) travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56 ` [PATCH 02/10] x86: fix cpu_to_node references (v3) travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56 ` [PATCH 03/10] x86: Convert cpu_core_map to be a per cpu variable (v3) travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56 ` [PATCH 04/10] x86: Convert cpu_sibling_map " travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56 ` [PATCH 05/10] x86: Convert x86_cpu_to_apicid " travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56 ` [PATCH 06/10] x86: Convert cpu_llc_id " travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56 ` [PATCH 07/10] x86: acpi-use-cpu_physical_id (v3) travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56 ` [PATCH 08/10] ia64: Convert cpu_sibling_map to a per_cpu data array (v3) travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-28  9:49   ` Paul Jackson [this message]
2007-09-28  9:49     ` Paul Jackson
2007-09-28  9:49     ` Paul Jackson
2007-09-28  9:49     ` [PATCH 08/10] ia64: Convert cpu_sibling_map to a per_cpu data Paul Jackson
2007-10-03 19:22     ` [PATCH 08/10] ia64: Convert cpu_sibling_map to a per_cpu data array (v3) Mike Travis
2007-10-03 19:22       ` Mike Travis
2007-10-03 19:22       ` Mike Travis
2007-10-03 19:22       ` [PATCH 08/10] ia64: Convert cpu_sibling_map to a per_cpu data Mike Travis
2007-09-12  1:56 ` [PATCH 09/10] ppc64: Convert cpu_sibling_map to a per_cpu data array (v3) travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-17  6:28   ` Stephen Rothwell
2007-09-17  6:28     ` Stephen Rothwell
2007-09-17  6:28     ` [PATCH 09/10] ppc64: Convert cpu_sibling_map to a per_cpu data Stephen Rothwell
2007-09-17  6:39     ` [PATCH 09/10] ppc64: Convert cpu_sibling_map to a per_cpu data array (v3) Stephen Rothwell
2007-09-17  6:39       ` Stephen Rothwell
2007-09-17  6:39       ` [PATCH 09/10] ppc64: Convert cpu_sibling_map to a per_cpu data Stephen Rothwell
2007-09-17 15:22     ` [PATCH 09/10] ppc64: Convert cpu_sibling_map to a per_cpu data array (v3) Mike Travis
2007-09-17 15:22       ` Mike Travis
2007-09-17 15:22       ` Mike Travis
2007-09-17 15:22       ` [PATCH 09/10] ppc64: Convert cpu_sibling_map to a per_cpu data Mike Travis
2007-09-12  1:56 ` [PATCH 10/10] sparc64: Convert cpu_sibling_map to a per_cpu data array (v3) travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-12  1:56   ` travis
2007-09-13  9:53 ` [PATCH 00/10] x86: Reduce Memory Usage and Inter-Node message traffic (v3) Andi Kleen
2007-09-13  9:53   ` Andi Kleen
2007-09-13  9:53   ` Andi Kleen
2007-09-13  9:53   ` Andi Kleen
2007-09-14 23:32 ` Andrew Morton
2007-09-14 23:32   ` Andrew Morton
2007-09-14 23:32   ` Andrew Morton
2007-09-14 23:32   ` [PATCH 00/10] x86: Reduce Memory Usage and Inter-Node message Andrew Morton

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=20070928024901.24ab6c99.pj@sgi.com \
    --to=pj@sgi.com \
    --cc=ak@suse.de \
    --cc=akpm@linux-foundation.org \
    --cc=clameter@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=sparclinux@vger.kernel.org \
    --cc=travis@sgi.com \
    /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.