public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Bob Gill <gillb4@telusplanet.net>
To: linux-kernel@vger.kernel.org
Subject: High cpu load due to pdflush
Date: Sat, 03 Nov 2007 11:24:44 -0600	[thread overview]
Message-ID: <472CAEDC.5000607@telusplanet.net> (raw)

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

                 reply	other threads:[~2007-11-03 23:41 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=472CAEDC.5000607@telusplanet.net \
    --to=gillb4@telusplanet.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox