Re: 2.6.17-mm1

From: Mel Gorman
Date: Thu Jun 22 2006 - 11:52:50 EST


On Thu, 22 Jun 2006, Franck Bui-Huu wrote:

Mel Gorman wrote:
On Thu, 22 Jun 2006, Franck Bui-Huu wrote:

Should ARCH_PFN_OFFSET macro be used instead in order to make pfn/page
convertions work when node 0 start offset do not start at 0 ?


What happens if you have ARCH_PFN_OFFSET as

#define ARCH_PFN_OFFSET (0UL)

?

It's the default value (see memory_model.h). It means that pfn start
for node 0 is 0, therefore your physical memory address starts at 0.


I know, but what I'm getting at is that ARCH_PFN_OFFSET may be unnecessary with flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch applied. ARCH_PFN_OFFSET is used as

#define page_to_pfn(page) ((unsigned long)((page) - mem_map) + \
ARCH_PFN_OFFSET)

because it knew that the map may not start at PFN 0. With flatmem-relax-requirement-for-memory-to-start-at-pfn-0.patch, the map will start at PFN 0 even if physical memory does not start until later.


What arch is this?


well I'm working on MIPS, but you can take a look at ARM that does the
same thing better...

My physical memory start at 0x20000000. So node 0 starts at an offset
different from 0. I setup ARCH_PFN_OFFSET this way

#define ARCH_PFN_OFFSET (0x20000000 << PAGE_SHIFT)


If physical memory starts at 0x20000000, why is the PFN not
0x20000000 >> PAGE_SHIFT ?


It is a typo...


ok

--
Mel Gorman
Part-time Phd Student Linux Technology Center
University of Limerick IBM Dublin Software Lab
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/