From: Ken Moffat <zarniwhoop@ntlworld.com>
To: linux-kernel@vger.kernel.org
Cc: Jeff Epler <jepler@unpythonic.net>
Subject: CONFIG_NO_HZ_FULL restricts cpu usage to the equivalent of one in 4.2
Date: Wed, 15 Jul 2015 17:27:13 +0100 [thread overview]
Message-ID: <20150715162713.GA29360@milliways> (raw)
New title, I originally posted this last night but I've now made
a little progress in identifying what changed. Previous thread was
labelled for AMD Phenom, but it is more general. CC'ing Jeff
because he replied to the original, I guess he probably won't be
interested after this.
Yesterday was the first day I had done any real compiling with
4.2-rc. I started out using -rc1, and make -j4 on a recent LFS/BLFS
system (gcc-5.1.0, make-4.1, etc). I wanted to start trying to
build kde5, and I expected a lot of issues. What I did not expect
was that qt5 would build as if I was using -j1.
Examination eventually identified that with 4.2-rc1 and 4.2-rc2,
make ran the number of jobs I had specified, but the total of the
CPU percentages ('top' from procps-ng-3.3.10) maxed out at 100%. On
4.1 kernels the percentage with -j4 maxes out at 400% (my machine
has 4 cores). I suspected either an unfortunate choice in 'make
oldconfig', or something specific to an AMD Phenom / gcc-5.1.
Today I have tried make -j4 on two other machines with 4.2-rc
kernels [ building the current git stable release ]. On my i3
SandyBridge everything was fine, CPU usage approached 400%. On my
AMD A10-7850K I have the same problem as on the phenom. Not
surprising, I began by using the Phenom config when I got the A10,
then adapted it to suit, whereas the i3 has much less memory so I
haven't made many changes since I got it.
Comparing the configs for the i3 and the A10, the first thing which
looked as if it might be relevant was the _CPU_ACCOUNTING choices.
Those on the A10 seem to be driven from CONFIG_NO_HZ_FULL so I began
by changing that to CONFIG_NO_HZ_IDLE. Payday ;-) make -j4 now
approaches 400% CPU usage.
The config differences follow. Perhaps it is actually one of the
subsequent choices that is the problem. And I guess it could still
be a gcc-5.1 issue.
--- config-4.2-initial 2015-07-15 16:25:12.548005751 +0100
+++ config-4.2-speed-ok 2015-07-15 17:00:50.919998703 +0100
@@ -104,11 +104,8 @@
CONFIG_TICK_ONESHOT=y
CONFIG_NO_HZ_COMMON=y
# CONFIG_HZ_PERIODIC is not set
-# CONFIG_NO_HZ_IDLE is not set
-CONFIG_NO_HZ_FULL=y
-CONFIG_NO_HZ_FULL_ALL=y
-CONFIG_NO_HZ_FULL_SYSIDLE=y
-CONFIG_NO_HZ_FULL_SYSIDLE_SMALL=4
+CONFIG_NO_HZ_IDLE=y
+# CONFIG_NO_HZ_FULL is not set
# CONFIG_NO_HZ is not set
CONFIG_HIGH_RES_TIMERS=y
@@ -116,7 +113,9 @@
# CPU/Task time and stats accounting
#
CONFIG_VIRT_CPU_ACCOUNTING=y
+# CONFIG_TICK_CPU_ACCOUNTING is not set
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
@@ -131,7 +130,6 @@
# CONFIG_TASKS_RCU is not set
CONFIG_RCU_STALL_COMMON=y
CONFIG_CONTEXT_TRACKING=y
-CONFIG_RCU_USER_QS=y
CONFIG_CONTEXT_TRACKING_FORCE=y
# CONFIG_TREE_RCU_TRACE is not set
CONFIG_RCU_NOCB_CPU=y
Anyway, I'll start a bisection. But it might take me a few days,
this is not a convenient time (somehow, kernel issues which need
bisection always come at a bad time for me).
ĸen
--
This one goes up to eleven!
next reply other threads:[~2015-07-15 16:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-15 16:27 Ken Moffat [this message]
2015-07-15 19:05 ` CONFIG_NO_HZ_FULL restricts cpu usage to the equivalent of one in 4.2 Andy Lutomirski
2015-07-16 0:34 ` Ken Moffat
2015-07-15 19:11 ` Frederic Weisbecker
2015-07-16 0:32 ` Ken Moffat
2015-07-18 13:26 ` Frederic Weisbecker
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=20150715162713.GA29360@milliways \
--to=zarniwhoop@ntlworld.com \
--cc=jepler@unpythonic.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.