> On Wed, 2010-12-01 at 10:59 +0800, KOSAKI Motohiro wrote: > > > On Wed, 2010-12-01 at 10:23 +0800, KOSAKI Motohiro wrote: > > > > > On Wed, 2010-12-01 at 01:15 +0800, Mel Gorman wrote: > > > > > > When the allocator enters its slow path, kswapd is woken up to balance the > > > > > > node. It continues working until all zones within the node are balanced. For > > > > > > order-0 allocations, this makes perfect sense but for higher orders it can > > > > > > have unintended side-effects. If the zone sizes are imbalanced, kswapd > > > > > > may reclaim heavily on a smaller zone discarding an excessive number of > > > > > > pages. The user-visible behaviour is that kswapd is awake and reclaiming > > > > > > even though plenty of pages are free from a suitable zone. > > > > > > > > > > > > This patch alters the "balance" logic to stop kswapd if any suitable zone > > > > > > becomes balanced to reduce the number of pages it reclaims from other zones. > > > > > from my understanding, the patch will break reclaim high zone if a low > > > > > zone meets the high order allocation, even the high zone doesn't meet > > > > > the high order allocation. This, for example, will make a high order > > > > > allocation from a high zone fallback to low zone and quickly exhaust low > > > > > zone, for example DMA. This will break some drivers. > > > > > > > > Have you seen patch [3/3]? I think it migigate your pointed issue. > > > yes, it improves a lot, but still possible for small systems. > > > > Ok, I got you. so please define your "small systems" word? > an embedded system with less memory memory, obviously Typical embedded system don't have multiple zone. It's not obvious. > > we can't make > > perfect VM heuristics obviously, then we need to compare pros/cons. > if you don't care about small system, let's consider a NORMAL i386 > system with 896m normal zone, and 896M*3 high zone. normal zone will > quickly exhaust by high order high zone allocation, leave a latter > allocation which does need normal zone fail. Not happen. slab don't allocate from highmem and page cache allocation is always using order-0. When happen high order high zone allocation? -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>