Skip to contentSkip to conversation

fix bootmem regression on Altix

PATCH In review Russ Anderson 3 participants 5 messages Apr 24, 2008 – Jun 3, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix bootmem regression on Altix

[patch] fix bootmem regression on Altix

A recent change prevents SGI Altix from booting.
This patch fixes the problem.

The regresson was introduced in commit 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164

---
 kernel/sched.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: test/kernel/sched.c
=================================--- test.orig/kernel/sched.c 2008-04-23 16:00:58.000000000 -0500
+++ test/kernel/sched.c 2008-04-23 16:01:33.047453963 -0500
@@ -8127,7 +8127,7 @@ void __init sched_init(void)
* we use alloc_bootmem().
*/
if (alloc_size) {
- ptr = (unsigned long)alloc_bootmem_low(alloc_size);
+ ptr = (unsigned long)alloc_bootmem(alloc_size);

#ifdef CONFIG_FAIR_GROUP_SCHED
init_task_group.se = (struct sched_entity **)ptr;

Signature · 2 lines
Russ Anderson, OS RAS/Partitioning Project Lead  
SGI - Silicon Graphics Inc          [email protected]
#1 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 6 lines · Russ Anderson

[patch] fix bootmem regression on Altix

A recent change prevents SGI Altix from booting.
This patch fixes the problem.

The regresson was introduced in commit 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164

Could we get this into mainline? My Altix box won't boot without this patch either and applying it on top of all trees after the above-mentioned commit is annoying when bisecting. :(

Anyway, thank you for your patch, Russ!

Petr Tesarik

Quoted 10 lines
---
 kernel/sched.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: test/kernel/sched.c
=================================> --- test.orig/kernel/sched.c 2008-04-23 16:00:58.000000000 -0500
+++ test/kernel/sched.c 2008-04-23 16:01:33.047453963 -0500

Review void __init sched_init(void) · line 8133

Quoted 8 lines
(quoted diff) +1 -1
@@ -8127,7 +8127,7 @@ void __init sched_init(void)
 	 * we use alloc_bootmem().
 	 */
 	if (alloc_size) {
-		ptr = (unsigned long)alloc_bootmem_low(alloc_size);
+		ptr = (unsigned long)alloc_bootmem(alloc_size);
 
 #ifdef CONFIG_FAIR_GROUP_SCHED
 		init_task_group.se = (struct sched_entity **)ptr;

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIRQcqjpY2ODFi2ogRArSnAKCLqsJldLKNMWKgA5KFB2K1S0kOoQCeKRe4 ARtwQ/mpL0BrFVo+h2IpdJQ=vvtw
-----END PGP SIGNATURE-----

#2 lore raw
In reply to Russ Anderson
Quoted 4 lines · Petr Tesarik

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Russ Anderson wrote:

Quoted 8 lines
Quoted 6 lines

[patch] fix bootmem regression on Altix

A recent change prevents SGI Altix from booting.
This patch fixes the problem.

The regresson was introduced in commit 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164

Could we get this into mainline?

Which mainline tree? Tony pushed the patch to Linus back on 4/24 and I see it in Linus' tree.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;hG2613b961affef0c73f1c797993678312e7c666

Quoted 34 lines

My Altix box won't boot without this
patch either and applying it on top of all trees after the above-mentioned commit is annoying when bisecting. :(

Anyway, thank you for your patch, Russ!

Petr Tesarik

Quoted 10 lines
---
 kernel/sched.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: test/kernel/sched.c
=================================> > --- test.orig/kernel/sched.c 2008-04-23 16:00:58.000000000 -0500
+++ test/kernel/sched.c 2008-04-23 16:01:33.047453963 -0500

Review void __init sched_init(void) · line 8133

Quoted 8 lines
(quoted diff) +1 -1
@@ -8127,7 +8127,7 @@ void __init sched_init(void)
 	 * we use alloc_bootmem().
 	 */
 	if (alloc_size) {
-		ptr = (unsigned long)alloc_bootmem_low(alloc_size);
+		ptr = (unsigned long)alloc_bootmem(alloc_size);
 
 #ifdef CONFIG_FAIR_GROUP_SCHED
 		init_task_group.se = (struct sched_entity **)ptr;

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFIRQcqjpY2ODFi2ogRArSnAKCLqsJldLKNMWKgA5KFB2K1S0kOoQCeKRe4 ARtwQ/mpL0BrFVo+h2IpdJQ> =vvtw
-----END PGP SIGNATURE-----

Signature · 2 lines
Russ Anderson, OS RAS/Partitioning Project Lead  
SGI - Silicon Graphics Inc          [email protected]
#3 lore raw
In reply to Russ Anderson
Quoted 3 lines

Could we get this into mainline? My Altix box won't boot without this patch either and applying it on top of all trees after the above-mentioned commit is annoying when bisecting. :(

It (well an equivalent patch) is in mainline. When you are bisecting, chances are that you'll step into the time period after this was broken, but before this patch was applied ... so you'll have to look at sched.c and apply this patch manually when bisect picks a commit in this zone. But I don't see anyway around that (history is immutable).

-Tony

See this commit:

commit 5a9d3225a0d7060bdf3a18018992dc8cef958425

Author: David Miller <[email protected]>
Date:   Thu Apr 24 20:46:20 2008 -0700

sched: use alloc_bootmem() instead of alloc_bootmem_low()

There is no guarantee that there is physical ram below 4GB, and in fact many boxes don't have exactly that.

kernel/sched.c +1 -1
index 0014b03..09ca69b 100644
@@ -8128,7 +8128,7 @@ void __init sched_init(void)
 	 * we use alloc_bootmem().
 	 */
 	if (alloc_size) {
-		ptr = (unsigned long)alloc_bootmem_low(alloc_size);
+		ptr = (unsigned long)alloc_bootmem(alloc_size);
 
 #ifdef CONFIG_FAIR_GROUP_SCHED
 		init_task_group.se = (struct sched_entity **)ptr;
#4 lore raw
In reply to Russ Anderson
Quoted 15 lines · Russ Anderson
Quoted 6 lines · On Tue, Jun 03, 2008 at 10:56:10AM +0200, Petr Tesarik wrote: Russ Anderson…
Quoted 6 lines
Quoted 6 lines

[patch] fix bootmem regression on Altix

A recent change prevents SGI Altix from booting.
This patch fixes the problem.

The regresson was introduced in commit 434d53b00d6bb7be0a1d3dcc0d0d5df6c042e164

Could we get this into mainline?

Quoted 4 lines

Which mainline tree? Tony pushed the patch to Linus back on 4/24 and I see it in Linus' tree.

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;hG2613b961affef0c73f1c797993678312e7c666

Ooops, forget it, I screwed up the bisect branch and the change was apparently no longer there. After git reset --hard, I can see it correctly.

Sorry for the fuss,
Petr Tesarik