Skip to contentSkip to conversation

increase lowmem value for ppc

DISCUSSION Ruksen INANIR 2 participants 7 messages Jul 17, 2008

lore
Share & tools
lore
#0 lore raw

Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem .
The ppc card has 2G on board memory. 2.4.22 kernel is used.

Thanks

#1 lore raw

Ruksen INANIR ha scritto:

Quoted 11 lines

Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem .
The ppc card has 2G on board memory. 2.4.22 kernel is used.

Thanks
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance.

Signature · 7 lines
Marco Stornelli
Embedded Software Engineer
CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni
http://www.coritel.it

[email protected]
+39 06 72582838
#2 lore raw

Marco Stornelli ha scritto:

Quoted 6 lines

Ruksen INANIR ha scritto:

Quoted 5 lines

Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem .
The ppc card has 2G on board memory. 2.4.22 kernel is used.

Quoted 8 lines
Quoted 6 lines

Thanks
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance.

Only an additional comment: I meant with the address splitting 3G/1G. To map more than 1GB, you have to change the splitting 2G/2G for example.

Signature · 7 lines
Marco Stornelli
Embedded Software Engineer
CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni
http://www.coritel.it

[email protected]
+39 06 72582838
#3 lore raw

Is there any side effects of changing the address splitting? What should i change for 2G/2G splitting? should i shift the kernel start? Thanks

Quoted 17 lines · Marco Stornelli

Marco Stornelli ha scritto:

Quoted 6 lines

Ruksen INANIR ha scritto:

Quoted 5 lines

Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem .
The ppc card has 2G on board memory. 2.4.22 kernel is used.

Quoted 8 lines
Quoted 6 lines

Thanks
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance.

Only an additional comment: I meant with the address splitting 3G/1G. To map more than 1GB, you have to change the splitting 2G/2G for example.

#4 lore raw

Ruksen INANIR ha scritto:

Quoted 2 lines

Is there any side effects of changing the address splitting?

Yes, in this way the application address space is smaller than normal. Some big applications (for example same dbms) might not work. Usually with 2G/2G most of the applications work well.

Quoted 3 lines

What should i change for 2G/2G splitting? should i shift the kernel start? Thanks

Yes in advanced options of the kernel menu, but sometimes it's not easy.
Sometimes ago I had to do the same thing but I have to change the
kernel code because some operations were hard-coded. Be careful because it's not an easy operation. However I'd suggest you to use the highmem, the memory performance are worse than direct memory mapping, but usually it's not a problem because the overhead is low.

Quoted 25 lines
Quoted 13 lines · Marco Stornelli

Marco Stornelli ha scritto:

Quoted 12 lines

Ruksen INANIR ha scritto:

Quoted 11 lines

Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem .
The ppc card has 2G on board memory. 2.4.22 kernel is used.

Thanks
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Quoted 4 lines
Quoted 2 lines

With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance.

Only an additional comment: I meant with the address splitting 3G/1G. To map more than 1GB, you have to change the splitting 2G/2G for example.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Signature · 7 lines
Marco Stornelli
Embedded Software Engineer
CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni
http://www.coritel.it

[email protected]
+39 06 72582838
#5 lore raw

Thanks for your comments.
I tried the highmem option but one of the device drivers does not support highmem, so it did not work.
the only choice for me is to increase the lowmem to 1520 MB. the maximum lowmem value i reached succesfully is 1503 MB. but any value more than 1503 results kernel not able to load kernel modules. Upgrading to a 2.6.x kernel may solve the problem, but it needs a lot of effort. Does 2.6.x kernel support 2G physical memory?

Quoted 38 lines · Marco Stornelli

Ruksen INANIR ha scritto:

Quoted 2 lines

Is there any side effects of changing the address splitting?

Yes, in this way the application address space is smaller than normal. Some big applications (for example same dbms) might not work. Usually with 2G/2G most of the applications work well.

Quoted 3 lines

What should i change for 2G/2G splitting? should i shift the kernel start? Thanks

Yes in advanced options of the kernel menu, but sometimes it's not easy. Sometimes ago I had to do the same thing but I have to change the kernel code because some operations were hard-coded. Be careful because it's not an easy operation. However I'd suggest you to use the highmem, the memory performance are worse than direct memory mapping, but usually it's not a problem because the overhead is low.

Quoted 25 lines
Quoted 13 lines · Marco Stornelli

Marco Stornelli ha scritto:

Quoted 12 lines

Ruksen INANIR ha scritto:

Quoted 11 lines

Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem .
The ppc card has 2G on board memory. 2.4.22 kernel is used.

Thanks
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Quoted 4 lines
Quoted 2 lines

With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance.

Only an additional comment: I meant with the address splitting 3G/1G. To map more than 1GB, you have to change the splitting 2G/2G for example.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

#6 lore raw

Ruksen INANIR ha scritto:

Quoted 3 lines

Thanks for your comments.
I tried the highmem option but one of the device drivers does not support highmem, so it did not work.

Strange....you can try to look at it, it could be only some GFP flag.

Quoted 1 line

the only choice for me is to increase the lowmem to 1520 MB. the maximum lowmem value i reached succesfully is 1503 MB. but any value more than 1503 results kernel not able to load kernel modules.

Mmmm....have you tried a stress test? It sounds like a bit strange that the kernel works well with this mapping but without other modification.

Quoted 2 lines

Upgrading to a 2.6.x kernel may solve the problem, but it needs a lot of effort. Does 2.6.x kernel support 2G physical memory?

It's the same. Some architecture have 36-bit addressing, but I don't know if the latest kernel has the support for this feature for powerpc.

Quoted 48 lines
Quoted 38 lines · Marco Stornelli

Ruksen INANIR ha scritto:

Quoted 2 lines

Is there any side effects of changing the address splitting?

Yes, in this way the application address space is smaller than normal. Some big applications (for example same dbms) might not work. Usually with 2G/2G most of the applications work well.

Quoted 3 lines

What should i change for 2G/2G splitting? should i shift the kernel start? Thanks

Yes in advanced options of the kernel menu, but sometimes it's not easy. Sometimes ago I had to do the same thing but I have to change the kernel code because some operations were hard-coded. Be careful because it's not an easy operation. However I'd suggest you to use the highmem, the memory performance are worse than direct memory mapping, but usually it's not a problem because the overhead is low.

Quoted 25 lines
Quoted 13 lines · Marco Stornelli

Marco Stornelli ha scritto:

Quoted 12 lines

Ruksen INANIR ha scritto:

Quoted 11 lines

Is there a way to increase the lowmem value for ppc. The MAX_LOW_MEM is defined as max 768 MB. But a value around 1.5 G works with no problem. But when i try to increase this value to 1520 or more, kernel complaints about no space for memory allocation when loading kernel modules. I do not want to use HIGHMEM config. What is the max lowmem value for a ppc system? What other setting are needed to use 1520 MB (or more) as lowmem .
The ppc card has 2G on board memory. 2.4.22 kernel is used.

Thanks
_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Quoted 4 lines
Quoted 2 lines

With 32-bit arch you may not use more than 1GB to map the memory (minus some space for some kernel operation). The value of 768MB was not there by chance.

Only an additional comment: I meant with the address splitting 3G/1G. To map more than 1GB, you have to change the splitting 2G/2G for example.

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

_______________________________________________
Linuxppc-embedded mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/linuxppc-embedded

Signature · 7 lines
Marco Stornelli
Embedded Software Engineer
CoRiTeL - Consorzio di Ricerca sulle Telecomunicazioni
http://www.coritel.it

[email protected]
+39 06 72582838