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 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.