* 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