MAX_ADDRESS.
Hi,
This question is relevant to the 2.4 kernel. Is MAX_ADDRESS really the highest virtual address mapped by the kernel? I can see this comment in 'paging_init()' in the section for DISCONTIGMEM. However, pagetable_init() doesnt make a check before it calls 'map_pages( )' for all the ranges of memory. So we may DISCONTIGMEM turned off but it may so happen that we have a 'pmem_ranges[]' entry that is greater than MAX_ADDRESS which may find its way into the kernel page tables. Regards,
Naresh.
Quoted 7 lines · Naresh
This question is relevant to the 2.4 kernel. Is
MAX_ADDRESSreally the highest virtual address mapped by the kernel? I can see this comment in 'paging_init()' in the section for DISCONTIGMEM. However,pagetable_init()doesnt make a check before it calls 'map_pages( )' for all the ranges of memory. So we may DISCONTIGMEM turned off but it may so happen that we have a 'pmem_ranges[]' entry that is greater thanMAX_ADDRESSwhich may find its way into the kernel page tables.
Ignore the DISCONTIGMEM code. It's completely broken (and we offer no way to turn CONFIG_DISCONTIGMEM on).
I'm not sure what half of this code is for; you'd need to ask John Marvin who wrote it.
Signature · 3 lines
"It's not Hollywood. War is real, war is primarily not about defeat or victory, it is about death. I've seen thousands and thousands of dead bodies. Do you think I want to have an academic debate on this subject?" -- Robert Fisk
MAX_ADDRESS has nothing to do with DISCONTIGMEM. Its definition is generic( pgtable.h), although it is not used anywhere. I just happened to see the comment in the DISCONTIGMEM code. Even if DISCONTIGMEM is turned off, there is no check for MAX_ADDRESS before the call to 'map_pages()' in 'pagetable_init( )', which is why I would like to know if MAX_ADDRESS can be ignored.
Regards,
Naresh.
Quoted 23 lines · Matthew Wilcox
Quoted 7 lines · Naresh
This question is relevant to the 2.4 kernel. Is
MAX_ADDRESSreally the highest virtual address mapped by the kernel? I can see this comment in 'paging_init()' in the section for DISCONTIGMEM. However,pagetable_init()doesnt make a check before it calls 'map_pages( )' for all the ranges of memory. So we may DISCONTIGMEM turned off but it may so happen that we have a 'pmem_ranges[]' entry that is greater thanMAX_ADDRESSwhich may find its way into the kernel page tables.Ignore the DISCONTIGMEM code. It's completely broken (and we offer no way to turn
CONFIG_DISCONTIGMEMon).I'm not sure what half of this code is for; you'd need to ask John Marvin who wrote it.
--
"It's not Hollywood. War is real, war is primarily not about defeat or victory, it is about death. I've seen thousands and thousands of dead bodies. Do you think I want to have an academic debate on this subject?" -- Robert Fisk
_______________________________________________
parisc-linux mailing list
[email protected]
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux
Quoted 5 lines · Naresh
MAX_ADDRESShas nothing to do with DISCONTIGMEM. Its definition is generic(pgtable.h), although it is not used anywhere. I just happened to see the comment in the DISCONTIGMEM code. Even if DISCONTIGMEM is turned off, there is no check forMAX_ADDRESSbefore the call to 'map_pages()' in 'pagetable_init( )', which is why I would like to know ifMAX_ADDRESScan be ignored.
No. It does represent the highest virtual address possible.
Linux has 3 levels of page tables, so on a 64 bit kernel (8 bytes per pte and 8 bytes per pte page pointer etc), we can address a maximum of 512GB with 4k pages.
James