Russell King wrote: > > On Thu, Jul 08, 2010 at 09:01:16AM +0900, Kukjin Kim wrote: > > Ok...let's suppose the size of section is 32MiB. > > > > Physical Mem. Sections > > . . > > . . > > . . > > | | | | > > 0x30000000 ------------ ------------ 0x30000000 > > | | | offline | > > | | ------------ 0x2C000000 > > | | | offline | > > | | ------------ 0x2A000000 > > | none | | offline | > > | | ------------ 0x28000000 > > | | | offline | > > | | ------------ 0x26000000 > > 0x25000000 ------------ | *online | > > | | ------------ 0x24000000 > > | | | online | > > | 80 MiB | ------------ 0x22000000 > > | | | online | > > 0x20000000 ------------ ------------ 0x20000000 > > > > In the above diagram, *section includes a 'hole' that is invalid online area > > between 0x25000000 and 0x26000000. > > So, memory starts at 0x20000000 and finishes at 0x25000000. That's fine. > That doesn't mean the section size is 16MB. > > As I've already said, the section size has _nothing_ what so ever to do > with the size of memory, or the granularity of the size of memory. By > way of illustration, it is perfectly legal to have a section size of > 256MB but only have 1MB in a section and this is perfectly legal. So > sections do not have to be completely filled. > Actually, as you know, the hole's area of mem_map is freed from bootmem if a section has a hole when initializing sparse memory. I identified that a section doesn't need to be a contiguous area of physical memory when reading your comment with the fact that the mem_map of a section can be smaller than the size of a section. I found, however, the kernel panics when modifying min_free_kbytes file in the proc filesystem if a section has a hole. While processing the change of min_free_kbytes in the kernel, page descriptors in a hole of an online section is accessed. Hmm... > > > > > Also, what is the maximum physical address which memory can be > > located? > > > > > > > > Following is memory map of S5PV210/S5PC110. > > > > > > > > 0x80000000 ------------------- > > > > | | > > > > 0x70000000 | | > > > > | | > > > > 0x60000000 | DMC 1 | up to 1GiB > > > > | | > > > > 0x50000000 | | > > > > | | > > > > 0x40000000 ----------------- > > > > | | > > > > 0x30000000 | DMC 0 | up to 512MiB > > > > | | > > > > 0x20000000 ------------------- > > So from this diagram, the sections should be 512MB - SECTION_SIZE_BITS > should be 28. Maybe typo...should be 29 when it is 512MiB. Thanks. Best regards, Kgene. -- Kukjin Kim <kgene.kim@xxxxxxxxxxx>, Senior Engineer, SW Solution Development Team, Samsung Electronics Co., Ltd. -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html