Messages in this thread | | | Date | Thu, 21 Feb 2008 21:29:30 +0900 | From | "minchan Kim" <> | Subject | Re: [RFC][PATCH] the proposal of improve page reclaim by throttle |
| |
On Thu, Feb 21, 2008 at 7:55 PM, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote: > Hi Kim-san, > > Thank you very much. > btw, what different between <test 1> and <test 2>?
<test 1> have no swap device with 200 tasks by hackbench. But <test 2> have swap device(32M) with 240 tasks by hackbench. If <test2> have no swap device without your patch, <test2> is killed by OOM.
<test 1> - NO SWAP Running with 5*40 (== 200) tasks. ... <test 2> - SWAP Running with 6*40 (== 240) tasks. ...
> > > It was a very interesting result. > > In embedded system, your patch improve performance a little in case > > without noswap(normal case in embedded system). > > But, more important thing is OOM occured when I made 240 process > > without swap device and vanilla kernel. > > Then, I applied your patch, it worked very well without OOM. > > Wow, it is very interesting result! > I am very happy. > > > > I think that's why zone's page_scanned was six times greater than > > number of lru pages. > > At result, OOM happened. > > please repost question with change subject. > i don't know reason of vanilla kernel behavior, sorry.
Normally, embedded linux have only one zone(DMA).
If your patch isn't applied, several processes can reclaim memory in parallel. then, DMA zone's pages_scanned is suddenly increased largely. Because embedded linux have no swap device, kernel can't stop to scan lru list until meeting page cache page. so if zone->pages_scanned is greater six time than lru list pages, kernel make the zone with unreclaimable state, As a result, OOM will kill it, too.
-- Thanks, barrios
| |