* Upd: [PATCH NG] alloc_pages_limit & pages_min [not found] <Pine.LNX.4.33L.0108231600020.31410-100000@duckman.distro.conectiva> @ 2001-08-23 19:28 ` Roger Larsson 2001-08-24 9:25 ` Stephan von Krawczynski 0 siblings, 1 reply; 4+ messages in thread From: Roger Larsson @ 2001-08-23 19:28 UTC (permalink / raw) To: Rik van Riel, Linus Torvalds, alan.cox Cc: linux-mm, Linux Kernel Mailing List Riel convinced be to back off a part of the patch. Here comes an updated one. -- Roger Larsson Skellefteå Sweden ******************************************* Patch prepared by: roger.larsson@norran.net Name of file: linux-2.4.8-pre3-pages_min-R3 --- linux/mm/page_alloc.c.orig Thu Aug 23 19:58:55 2001 +++ linux/mm/page_alloc.c Thu Aug 23 21:19:20 2001 @@ -253,11 +253,26 @@ if (z->free_pages + z->inactive_clean_pages >= water_mark) { struct page *page = NULL; - /* If possible, reclaim a page directly. */ - if (direct_reclaim) + + /* + * Reclaim a page from the inactive_clean list. + * If needed, refill the free list up to the + * low water mark. + */ + if (direct_reclaim) { page = reclaim_page(z); - /* If that fails, fall back to rmqueue. */ - if (!page) + + while (page && z->free_pages < z->pages_min) { + __free_page(page); + page = reclaim_page(z); + } + + /* let kreclaimd handle up to pages_high */ + } + /* If that fails, fall back to rmqueue, but never let + * free_pages go below pages_min... + */ + if (!page && z->free_pages >= z->pages_min) page = rmqueue(z, order); if (page) return page; ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Upd: [PATCH NG] alloc_pages_limit & pages_min 2001-08-23 19:28 ` Upd: [PATCH NG] alloc_pages_limit & pages_min Roger Larsson @ 2001-08-24 9:25 ` Stephan von Krawczynski 2001-08-24 10:28 ` Roger Larsson 0 siblings, 1 reply; 4+ messages in thread From: Stephan von Krawczynski @ 2001-08-24 9:25 UTC (permalink / raw) To: Roger Larsson; +Cc: linux-kernel On Thu, 23 Aug 2001 21:28:44 +0200 Roger Larsson <roger.larsson@norran.net> wrote: > Riel convinced be to back off a part of the patch. > Here comes an updated one. Hello Roger, this does not solve my problem with NFS-copies. Just for information. I tried and did not work. Besides I expected the patch to make the free pages pool somehow bigger during file-copies, but ended up with this situation: total: used: free: shared: buffers: cached: Mem: 921726976 918573056 3153920 0 12337152 816504832 Swap: 271392768 0 271392768 MemTotal: 900124 kB MemFree: 3080 kB MemShared: 0 kB Buffers: 12048 kB Cached: 797368 kB SwapCached: 0 kB Active: 473628 kB Inact_dirty: 331796 kB Inact_clean: 3992 kB Inact_target: 1940 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 900124 kB LowFree: 3080 kB SwapTotal: 265032 kB SwapFree: 265032 kB The MemFree isn't really a lot compared to inact_dirty. knfsd fails at least. Regards, Stephan ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Upd: [PATCH NG] alloc_pages_limit & pages_min 2001-08-24 9:25 ` Stephan von Krawczynski @ 2001-08-24 10:28 ` Roger Larsson 2001-08-24 12:50 ` Stephan von Krawczynski 0 siblings, 1 reply; 4+ messages in thread From: Roger Larsson @ 2001-08-24 10:28 UTC (permalink / raw) To: Stephan von Krawczynski; +Cc: linux-kernel On Fridayen den 24 August 2001 11:25, Stephan von Krawczynski wrote: > On Thu, 23 Aug 2001 21:28:44 +0200 > > Roger Larsson <roger.larsson@norran.net> wrote: > > Riel convinced be to back off a part of the patch. > > Here comes an updated one. > > Hello Roger, > > this does not solve my problem with NFS-copies. Just for information. I > tried and did not work. Besides I expected the patch to make the free pages > pool somehow bigger during file-copies, but ended up with this situation: > > [snip] > > The MemFree isn't really a lot compared to inact_dirty. knfsd fails at > least. Wait a minute - knfsd... hmm... Suppose knfsd allock without the wait flag - then it could cause this problems by itself... > Aug 21 20:14:51 admin kernel: __alloc_pages: 3-order allocation failed > (gfp=0x20/0). Who is doing thise allocs? Add a printout of current->pid with format %d I bet it is knfsd itself (or a driver it uses). Another thing to try is to run with non kernel nfs... /RogerL -- Roger Larsson Skellefteå Sweden ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Upd: [PATCH NG] alloc_pages_limit & pages_min 2001-08-24 10:28 ` Roger Larsson @ 2001-08-24 12:50 ` Stephan von Krawczynski 0 siblings, 0 replies; 4+ messages in thread From: Stephan von Krawczynski @ 2001-08-24 12:50 UTC (permalink / raw) To: Roger Larsson; +Cc: linux-kernel On Fri, 24 Aug 2001 12:28:13 +0200 Roger Larsson <roger.larsson@skelleftea.mail.telia.com> wrote: > Another thing to try is to run with non kernel nfs... Sorry, probably can't do that. As far as I read the docs from reiser there is a problem with unfs on large reiser disks. If I got that right, it will not work anyway, even without this specific problem. Regards, Stephan ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2001-08-24 12:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <Pine.LNX.4.33L.0108231600020.31410-100000@duckman.distro.conectiva>
2001-08-23 19:28 ` Upd: [PATCH NG] alloc_pages_limit & pages_min Roger Larsson
2001-08-24 9:25 ` Stephan von Krawczynski
2001-08-24 10:28 ` Roger Larsson
2001-08-24 12:50 ` Stephan von Krawczynski
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox