All of lore.kernel.org
 help / color / mirror / Atom feed
* High cpu load due to pdflush
@ 2007-11-03 17:24 Bob Gill
  0 siblings, 0 replies; only message in thread
From: Bob Gill @ 2007-11-03 17:24 UTC (permalink / raw)
  To: linux-kernel

Hi.  My computer is constipated.  The load average when idle never goes 
below 100%.  Top shows this:
top - 11:01:27 up 5 min,  2 users,  load average: 2.63, 1.73, 0.76
Tasks:  91 total,   2 running,  89 sleeping,   0 stopped,   0 zombie
Cpu(s): 13.5%us,  4.4%sy,  1.6%ni,  9.9%id, 70.2%wa,  0.3%hi,  0.2%si,  
0.0%st
Note that we are at 70% for the wait state, 9.9% idle.  Now when I run  
ps aux | grep pdflush | grep -v grep  ...I get:
root       144  0.0  0.0      0     0 ?        S    10:56   0:00 [pdflush]
root       145  0.0  0.0      0     0 ?        D    10:56   0:00 [pdflush]
the second pdflush is dirty (and won't write).  I haven't changed 
anything in /proc/sys/vm and am running the 2.6.24-rc1-git12 kernel on 
Ubuntu Gutsy.  The original Gutsy kernel worked fine.  The only way I 
can get around the problem is to go into a terminal and run:
 >while true
 >do
 >sync
 >sleep 10
 >done
...which will force writes and give me (from top)
top - 11:06:55 up 10 min,  3 users,  load average: 0.42, 1.23, 0.85
Tasks:  93 total,   2 running,  91 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.0%us,  0.9%sy,  0.0%ni, 95.6%id,  0.3%wa,  0.3%hi,  0.0%si,  
0.0%st
(on the very same load as before and the load is still dropping).

The only real change I made to Ubuntu was in 
/etc/init.d/mountdevsubfs.sh where I uncommented:
# Magic to make /proc/bus/usb work
 #
 mkdir -p /dev/bus/usb/.usbfs
 domount usbfs "" /dev/bus/usb/.usbfs 
-obusmode=0700,devmode=0600,listmode=0644
 ln -s .usbfs/devices /dev/bus/usb/devices
 mount --rbind /dev/bus/usb /proc/bus/usb

...so that usb would work with a custom kernel...

Oh, and btw, my cpu is an Intel P4.
Also, I applied the following patch and build/ran a kernel (but it did 
not reduce the cpu load on my system):
 >/> -------------------------- fs/jbd/transaction.c 
-----------------------------/
 >/> index cceaf57..d38e0d5 100644/
 >/> @@ -55,7 +55,7 @@ get_transaction(journal_t *journal, transaction_t 
*transaction)/
 >/> spin_lock_init(&transaction->t_handle_lock);/
 >/> /
 >/> /* Set up the commit timer for the new transaction. *//
 >/> - journal->j_commit_timer.expires = 
round_jiffies(transaction->t_expires);/
 >/> + journal->j_commit_timer.expires = transaction->t_expires;/
 >/> add_timer(&journal->j_commit_timer);/
 >/> /
 >/> J_ASSERT(journal->j_running_transaction == NULL);

/Any ideas?  Please mail me if you need more information. 
Thanks in Advance,
Bob

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-11-03 23:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-03 17:24 High cpu load due to pdflush Bob Gill

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.