Messages in this thread | ![/](/images/icornerl.gif) | | Date | Fri, 2 Jan 2009 19:54:34 +0900 | From | "KOSAKI Motohiro" <> | Subject | Re: [PATCH] mm: stop kswapd's infinite loop at high order allocation take2 |
| |
>>> So I want to balance zone's proportional free page. >>> How about following ? >>> >>> if (nr_reclaimed < SWAP_CLUSTER_MAX) { >>> if (order != 0) { >>> order -=1; >>> sc.order -=1; >>> } >>> } >>> >>> It prevents infinite loop and do best effort to make zone's >>> proportional free page per order size good. >>> >>> It's just my opinion within my knowledge. >>> If it have a problem, pz, explain me :) >> >> Please read Nick's expalin. it explain very kindly :) > > Hm. I read Nick's explain. > I understand his point. > > Nick said, > "A higher kswapd reclaim order shouldn't weaken kswapd > postcondition for order-0 memory." > > My patch don't prevent order-0 memory reclaim. After all, it will do it. > It also can do best effort to reclaim other order size. > > In this case, others order size reclaim is needless ?
Yes, needless.
wakeup_kswapd() function mean - please make free memory until pages_high - and, I want to "order argument" conteniously pages.
then, shorter conteniously pages than "order argumet" pages aren't needed by caller.
Unfortunately, your patch has more bad side effect. high order shrink_zone() cause lumpy reclaim. lumpy reclaim cause reclaim neighbor pages although it is active page.
needlessly active page reclaiming decrease system performance.
| ![\](/images/icornerr.gif) |