2001-11-22 21:23:53

by Patrick Mau

[permalink] [raw]
Subject: Question about balance_classzone in mm/page_alloc.c

Dear Kernel Developers,

this question could probably be answered bt Andrea Arcangeli ?

I added a prink to balance_classzone in 2.4.15-pre9.
The message is not accurate because I moved it there,
but anyway ...

--- linux-2.4.15-9/mm/page_alloc.c Thu Nov 22 19:53:46 2001
+++ work-2.4.15-9/mm/page_alloc.c Thu Nov 22 22:02:15 2001
@@ -251,6 +251,8 @@
local_pages = &current->local_pages;

if (likely(__freed)) {
+ printk(KERN_DEBUG "zone_balance: %d pages freed\n", current->nr_local_pages);
+
/* pick from the last inserted so we're lifo */
entry = local_pages->next;
do {

I bootet with mem=64M and started KDE/Konqueror and did a
bonnie++ run with 256M filesize. (I did not let it finish though).

The count of current->nr_local_pages from syslog shows always
'1'. Maybe I don't understand the code, but balance_classzone is
very often called (>20 times during one second according to syslog).
I could append syslog output, but it's pretty boring.

My question is, whats the logic behind those nr_local_pages
and the lifo while loop, when it's always called for one page ?

I had to kill bonnie++ and KDE because the box was absolutely
trashing and did not respond to anything.

thanks for clarifying.
Patrick