On Sat, Oct 10, 2009 at 12:02:10AM +0800, Wu Zhangjin wrote: > The above patch can not fix the problem when enabled FLATMEM in > linux-2.6.32-rc3, the real problem should be that we need register the > "pci memory space" as nosave pages, and also, the above "reserved"(not > memory) pages should be registered as nosave pages. but the simpler > solution should be the pfn_valid() I sent out in this E-mail thread, we > just need to check whether they are "valid", if they are "System > RAM"(BOOT_MEM_RAM or BOOT_MEM_ROM_DATA), they should be valid. > > and what's more? should be register "pci memory space" as nosave pages > for all architecture? No. You only see this problem because your PCI memory space is between the lowest and the highest memory address. Other systems don't have this issue because they either use the discontig or sparse memory models. Btw, for systems that actually have memory in the 90000000-bfffffff range and are running a 64-bit kernel with 4k ages the flatmem memory model will waste 28MB of RAM; with 16k pages it's still 7MB. Time to say gooebye to flatmem? Ralf