1 GB lowmem

9 messages, 3 authors, 2008-05-22 · open the first message on its own page

1 GB lowmem

From: Rune Torgersen <hidden>
Date: 2008-05-21 17:59:39

Hi

I am trying to enable 1 GB of lowmem on a Freescale 8280.
In arch/ppc this was easilly done by:
CONFIG_ADVANCED_OPTIONS=3Dy
CONFIG_HIGHMEM_START=3D0xfe000000
CONFIG_LOWMEM_SIZE_BOOL=3Dy
CONFIG_LOWMEM_SIZE=3D0x40000000
CONFIG_KERNEL_START_BOOL=3Dy
CONFIG_KERNEL_START=3D0xa0000000

This does not work in arch/powerpc. CPU hangs as soon as init starts.
Any ideas what to look at, what to change?

The reason I want to do this is because I cannot get highmem support to
work when using CONFIG_PREEMPT_RT.
(hitting a bug_on in kmap_atomic)

RE: 1 GB lowmem

From: Rune Torgersen <hidden>
Date: 2008-05-21 20:00:00

linuxppc-dev-bounces+runet=3Dinnovsys.com@ozlabs.org wrote:
Hi
=20
I am trying to enable 1 GB of lowmem on a Freescale 8280.
In arch/ppc this was easilly done by:
CONFIG_ADVANCED_OPTIONS=3Dy
CONFIG_HIGHMEM_START=3D0xfe000000
CONFIG_LOWMEM_SIZE_BOOL=3Dy
CONFIG_LOWMEM_SIZE=3D0x40000000
CONFIG_KERNEL_START_BOOL=3Dy
CONFIG_KERNEL_START=3D0xa0000000
=20
This does not work in arch/powerpc. CPU hangs as soon as init starts.
Any ideas what to look at, what to change?
=20
The reason I want to do this is because I cannot get highmem
support to
work when using CONFIG_PREEMPT_RT.
(hitting a bug_on in kmap_atomic)
Scratch that. 1 GB lowmem works with vanilla 2.6.25.4, but not at all
with 2.6.25.4-rt[13]

RE: 1 GB lowmem

From: Rune Torgersen <hidden>
Date: 2008-05-21 21:01:24

Rune Torgersen wrote:
linuxppc-dev-bounces+runet=3Dinnovsys.com@ozlabs.org wrote:
quoted
Hi
=20
I am trying to enable 1 GB of lowmem on a Freescale 8280.
In arch/ppc this was easilly done by:
CONFIG_ADVANCED_OPTIONS=3Dy
CONFIG_HIGHMEM_START=3D0xfe000000
CONFIG_LOWMEM_SIZE_BOOL=3Dy
CONFIG_LOWMEM_SIZE=3D0x40000000
CONFIG_KERNEL_START_BOOL=3Dy
CONFIG_KERNEL_START=3D0xa0000000
=20
This does not work in arch/powerpc. CPU hangs as soon as init starts.
Any ideas what to look at, what to change?
=20
The reason I want to do this is because I cannot get highmem support
to work when using CONFIG_PREEMPT_RT.
(hitting a bug_on in kmap_atomic)
=20
Scratch that. 1 GB lowmem works with vanilla 2.6.25.4, but
not at all with 2.6.25.4-rt[13]
Argh... Found it. Had to set CONFIG_TASK_SIZE to 0x80000000. Now it
works in both vaniulla an d RT kernel.
Highmem still doesn't work.

Re: 1 GB lowmem

From: Kumar Gala <hidden>
Date: 2008-05-21 21:13:03

On May 21, 2008, at 3:55 PM, Rune Torgersen wrote:
Rune Torgersen wrote:
quoted
linuxppc-dev-bounces+runet=innovsys.com@ozlabs.org wrote:
quoted
Hi

I am trying to enable 1 GB of lowmem on a Freescale 8280.
In arch/ppc this was easilly done by:
CONFIG_ADVANCED_OPTIONS=y
CONFIG_HIGHMEM_START=0xfe000000
CONFIG_LOWMEM_SIZE_BOOL=y
CONFIG_LOWMEM_SIZE=0x40000000
CONFIG_KERNEL_START_BOOL=y
CONFIG_KERNEL_START=0xa0000000

This does not work in arch/powerpc. CPU hangs as soon as init starts.
Any ideas what to look at, what to change?

The reason I want to do this is because I cannot get highmem support
to work when using CONFIG_PREEMPT_RT.
(hitting a bug_on in kmap_atomic)
Scratch that. 1 GB lowmem works with vanilla 2.6.25.4, but
not at all with 2.6.25.4-rt[13]
Argh... Found it. Had to set CONFIG_TASK_SIZE to 0x80000000. Now it
works in both vaniulla an d RT kernel.
We should really add some sanity check on CONFIG_TASK_SIZE vs KERNEL_START.

- k

RE: 1 GB lowmem

From: Rune Torgersen <hidden>
Date: 2008-05-21 21:23:51

Kumar Gala wrote:
On May 21, 2008, at 3:55 PM, Rune Torgersen wrote:
quoted
Argh... Found it. Had to set CONFIG_TASK_SIZE to 0x80000000. Now it
works in both vaniulla an d RT kernel.
=20
We should really add some sanity check on CONFIG_TASK_SIZE vs
KERNEL_START.=20
Something like this?
Wording sould probablyy be a bit different/cleare.
diff --git a/include/asm-powerpc/processor.h
b/include/asm-powerpc/processor.h
index fd98ca9..72e0e3f 100644
--- a/include/asm-powerpc/processor.h
+++ b/include/asm-powerpc/processor.h
@@ -81,6 +81,10 @@ extern struct task_struct *last_task_used_altivec;
 extern struct task_struct *last_task_used_spe;

 #ifdef CONFIG_PPC32
+
+#if CONFIG_TASK_SIZE > CONFIG_KERNEL_START
+#error User TASK_SIZE overlaps with KERNEL_START address
+#endif
 #define TASK_SIZE      (CONFIG_TASK_SIZE)

 /* This decides where the kernel will search for a free chunk of vm

Re: 1 GB lowmem

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Date: 2008-05-21 21:25:03

On Wed, 2008-05-21 at 13:00 -0500, Rune Torgersen wrote:
Hi

I am trying to enable 1 GB of lowmem on a Freescale 8280.
In arch/ppc this was easilly done by:
CONFIG_ADVANCED_OPTIONS=y
CONFIG_HIGHMEM_START=0xfe000000
CONFIG_LOWMEM_SIZE_BOOL=y
CONFIG_LOWMEM_SIZE=0x40000000
CONFIG_KERNEL_START_BOOL=y
CONFIG_KERNEL_START=0xa0000000

This does not work in arch/powerpc. CPU hangs as soon as init starts.
Any ideas what to look at, what to change?
You probably need to lower TASK_SIZE too.
The reason I want to do this is because I cannot get highmem support to
work when using CONFIG_PREEMPT_RT.
(hitting a bug_on in kmap_atomic)
We should look into fixing that :-)

Ben.

Re: 1 GB lowmem

From: Kumar Gala <hidden>
Date: 2008-05-22 04:14:23

On May 21, 2008, at 4:24 PM, Rune Torgersen wrote:
quoted hunk
Kumar Gala wrote:
quoted
On May 21, 2008, at 3:55 PM, Rune Torgersen wrote:
quoted
Argh... Found it. Had to set CONFIG_TASK_SIZE to 0x80000000. Now it
works in both vaniulla an d RT kernel.
We should really add some sanity check on CONFIG_TASK_SIZE vs
KERNEL_START.
Something like this?
Wording sould probablyy be a bit different/cleare.
diff --git a/include/asm-powerpc/processor.h
b/include/asm-powerpc/processor.h
index fd98ca9..72e0e3f 100644
--- a/include/asm-powerpc/processor.h
+++ b/include/asm-powerpc/processor.h
@@ -81,6 +81,10 @@ extern struct task_struct *last_task_used_altivec;
extern struct task_struct *last_task_used_spe;

#ifdef CONFIG_PPC32
+
+#if CONFIG_TASK_SIZE > CONFIG_KERNEL_START
+#error User TASK_SIZE overlaps with KERNEL_START address
+#endif
#define TASK_SIZE      (CONFIG_TASK_SIZE)

/* This decides where the kernel will search for a free chunk of vm
something like that would be good.  is there really anything PPC32 specific about it?

- k

RE: 1 GB lowmem

From: Rune Torgersen <hidden>
Date: 2008-05-22 14:13:32

Kumar Gala wrote:
On May 21, 2008, at 4:24 PM, Rune Torgersen wrote:
=20
quoted
Kumar Gala wrote:
quoted
On May 21, 2008, at 3:55 PM, Rune Torgersen wrote:
quoted
Argh... Found it. Had to set CONFIG_TASK_SIZE to 0x80000000. Now it
works in both vaniulla an d RT kernel.
=20
We should really add some sanity check on CONFIG_TASK_SIZE vs
KERNEL_START.
=20
Something like this?
Wording sould probablyy be a bit different/cleare.
=20
diff --git a/include/asm-powerpc/processor.h
b/include/asm-powerpc/processor.h
index fd98ca9..72e0e3f 100644
--- a/include/asm-powerpc/processor.h
+++ b/include/asm-powerpc/processor.h
@@ -81,6 +81,10 @@ extern struct task_struct *last_task_used_altivec;
extern struct task_struct *last_task_used_spe;
=20
#ifdef CONFIG_PPC32
+
+#if CONFIG_TASK_SIZE > CONFIG_KERNEL_START
+#error User TASK_SIZE overlaps with KERNEL_START address
+#endif
#define TASK_SIZE      (CONFIG_TASK_SIZE)
=20
/* This decides where the kernel will search for a free chunk of vm
=20
=20
something like that would be good.  is there really anything PPC32
specific about it?=20
=20
Probably not. Could this be done in the Kconfig file instead?. Don't
know if Kconfig supports doing a comparison.

RE: 1 GB lowmem

From: Rune Torgersen <hidden>
Date: 2008-05-22 15:16:30

Kumar Gala wrote:
something like that would be good.  is there really anything PPC32
specific about it?=20
Apparently. The Kconfig option is only available for arch/powerpc and
arch/ppc, and the only place in the whole codetree where
CONFIG_TASK_SIZE is used is that particular spot in
asm-powerpc/processor.h, and that again is within CONFIG_PPC32 define,
so it seems only PPC32 is using TASK_SIZE.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help