Messages in this thread | | | From | Con Kolivas <> | Subject | lowmem_reserve question | Date | Mon, 3 Apr 2006 12:48:13 +1000 |
| |
On Sunday 02 April 2006 19:51, Nick Piggin wrote: > That zone->lowmem_reserve[zone_idx(zone)] == 0 ?
I haven't figured out how to tackle the swap prefetch issue with lowmem reserve just yet. While trying to digest just what the lowmem_reserve does and how it's utilised I looked at some of the numbers
int sysctl_lowmem_reserve_ratio[MAX_NR_ZONES-1] = { 256, 256, 32 };
lower_zone->lowmem_reserve[j] = present_pages / sysctl_lowmem_reserve_ratio[idx];
This is interesting because there are no bounds on this value and it seems possible to set the sysctl to have a lowmem_reserve that is larger than the zone size. Ok that's a sysctl so if a user is setting it wrongly that's their fault... or should there be some upper bound?
Furthermore, now that we have the option of up to 3GB lowmem split on 32bit we can have a default lowmem_reserve of almost 12MB (if I'm reading it right) which seems very tight with only 16MB of ZONE_DMA.
On a basically idle 1GB lowmem box that I have it looks like this:
Node 0, zone DMA pages free 1025 min 15 low 18 high 22 active 2185 inactive 0 scanned 555 (a: 21 i: 6) spanned 4096 present 4096 protection: (0, 0, 1007, 1007)
With 3GB lowmem the default settings seem too tight to me. The way I see it, there should be some upper bounds on the lowmem reserves. Or perhaps I'm just missing something again... I'm feeling even thicker than usual.
Cheers, Con - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |