From: Benjamin LaHaise <bcrl@kvack.org>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: linux-kernel@vger.kernel.org,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: regression: sysctl_check changes in 2.6.24 are O(n) resulting in slow creation of 10000 network interfaces
Date: Sun, 6 Jan 2008 17:03:07 -0500 [thread overview]
Message-ID: <20080106220307.GU28570@kvack.org> (raw)
Hello folks,
2.6.24-rc6 regresses on the 10000 network interface creation test relative to
2.6.23. The cause appears to be the new code in sysctl_check_lookup(), which
shows up as the #1 item while profiling. Is a revert of this new code
possible until its scaling issues are fixed? 2.6.23 can do more than 100 new
network interfaces per second for the first few thousand devices, but with
2.6.24-rc6 the results drop off rather dramatically to less than 10 interfaces
per second. The 10000 interface test is unbearable with the new sysctl_check
code.
time to creat 100 more interfaces
interfaces v2.6.24-rc6 sysctl_check disabled
0 0.729s 0.222s
100 1.791s 0.223s
200 3.966s 0.230s
300 7.460s 0.236s
400 10.747s 0.241s
500 13.633s 0.252s
samples % app name symbol name
524598 33.4231 vmlinux sysctl_check_lookup
297996 18.9859 vmlinux cpu_idle
130263 8.2993 vmlinux __rcu_pending
123953 7.8973 vmlinux sysctl_head_next
121691 7.7532 vmlinux quicklist_trim
89624 5.7101 vmlinux strcmp
87257 5.5593 vmlinux rcu_pending
78475 4.9998 vmlinux poll_idle
43721 2.7855 vmlinux check_pgt_cache
34454 2.1951 vmlinux sysctl_parent
7494 0.4775 vmlinux rt_run_flush
-ben
diff --git a/kernel/sysctl_check.c b/kernel/sysctl_check.c
index a68425a..a4468e2 100644
--- a/kernel/sysctl_check.c
+++ b/kernel/sysctl_check.c
@@ -1459,6 +1459,8 @@ static void sysctl_check_bin_path(struct ctl_table *table, const char **fail)
int sysctl_check_table(struct ctl_table *table)
{
int error = 0;
+ return 0;
+
for (; table->ctl_name || table->procname; table++) {
const char *fail = NULL;
next reply other threads:[~2008-01-06 22:03 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-06 22:03 Benjamin LaHaise [this message]
2008-01-07 6:57 ` regression: sysctl_check changes in 2.6.24 are O(n) resulting in slow creation of 10000 network interfaces Eric W. Biederman
2008-01-07 7:10 ` David Miller
2008-01-07 10:25 ` Eric W. Biederman
2008-01-08 1:47 ` Benjamin LaHaise
2008-01-07 20:45 ` Andi Kleen
2008-01-07 21:30 ` Alan Cox
2008-01-07 22:57 ` Andi Kleen
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=20080106220307.GU28570@kvack.org \
--to=bcrl@kvack.org \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.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