[lkml]   [2002]   [May]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: Bug: Discontigmem virt_to_page() [Alpha,ARM,Mips64?]
> You don't need any additional common code abstraction to make virtual
> address 3G+256G to point to physical address 1G as in my example above,
> after that you're free to put the physical ram between 1G and 1G+256M
> into the zone normal of node 1 and the stuff should keep working but
> with zone-normal spread in more than one node. You just have full
> control on virt_to_page, pci_map_single, __va. Actually it may be as
> well cleaner to just let the arch define page_address() when
> discontigmem is enabled (instead of hacking on top of __va), that's a
> few liner. (the only true limit you have is on the phys ram above 4G,
> that cannot definitely go into zone-normal regardless if it belongs to a
> direct mapping or not because of pci32 API)

The thing that's special about ZONE_NORMAL is that it's permanently
mapped into kernel virtual address space, so you *cannot* put memory
in other nodes into ZONE_NORMAL without changing the mapping
between physical to virtual memory to a non 1-1 mapping.

No, you don't need to call changing that mapping "CONFIG_NONLINEAR",
but that's basically what the bulk of Dan's patch does, so I think we should
steal it with impunity ;-)


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:25    [W:0.199 / U:7.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site