From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andi Kleen <andi@firstfloor.org>, Matthew Wilcox <matthew@wil.cx>,
"Zhang, Yanmin" <yanmin_zhang@linux.intel.com>,
LKML <linux-kernel@vger.kernel.org>,
Alexander Viro <viro@ftp.linux.org.uk>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: AIM7 40% regression with 2.6.26-rc1
Date: Wed, 7 May 2008 19:05:28 +0200 [thread overview]
Message-ID: <20080507170528.GA11511@elte.hu> (raw)
In-Reply-To: <alpine.LFD.1.10.0805070929310.3024@woody.linux-foundation.org>
* Linus Torvalds <torvalds@linux-foundation.org> wrote:
> > I think it is far more likely that it's due to the different
> > scheduling and wakeup behavior of the new kernel/semaphore.c code.
> > So the fix would be to restore the old scheduling behavior - that's
> > what Yanmin's manual revert did and that's what got him back the
> > previous AIM7 performance.
>
> Yes, Yanmin's manual revert got rid of the new semaphores entirely.
> Which was what, 7500 lines of code removed that got reverted.
i wouldnt advocate a 7500 revert instead of a 160 lines change.
my suggestion was that the scheduling behavior of the new
kernel/semaphore.c code is causing the problem - i.e. making it match
the old semaphore code's behavior would give us back performance.
> And the *WHOLE* and *ONLY* excuse for dropping the spinlock
> lock_kernel was this (and I quote your message):
>
> remove the !PREEMPT_BKL code.
>
> this removes 160 lines of legacy code.
>
> in other words, your only stated valid reason for getting rid of the
> spinlock was 160 lines, and the comment didn't even match what it did
> (it removed the spinlocks entirely, not just the preemptible version).
it was removed by me in the course of this discussion:
http://lkml.org/lkml/2008/1/2/58
the whole discussion started IIRC because !CONFIG_PREEMPT_BKL [the
spinlock version] was broken for a longer period of time (it crashed
trivially), because nobody apparently used it. People (Nick) asked why
it was still there and i agreed and removed it. CONFIG_PREEMPT_BKL=y was
the default, that was what all distros used. I.e. the spinlock code was
in essence dead code at that point in time.
the spinlock code might in fact perform _better_, but nobody came up
with such a workload before.
> In contrast, the revert adds 7500 lines. If you go by the only
> documented reason for the crap that is the current BKL, then I know
> which one I'll take. I'll take the spinlock back, and I'd rather put
> preemption back than ever take those semaphores.
>
> And even that's ignoring another issue: did anybody ever even do that
> AIM7 benchmark comparing spinlocks to the semaphore-BKL? It's quite
> possible that the semaphores (even the well-behaved ones) behaved
> worse than the spinlocks.
that's a good question...
Ingo
next prev parent reply other threads:[~2008-05-07 17:06 UTC|newest]
Thread overview: 140+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-06 5:48 AIM7 40% regression with 2.6.26-rc1 Zhang, Yanmin
2008-05-06 11:18 ` Matthew Wilcox
2008-05-06 11:44 ` Ingo Molnar
2008-05-06 12:09 ` Matthew Wilcox
2008-05-06 16:23 ` Matthew Wilcox
2008-05-06 16:36 ` Linus Torvalds
2008-05-06 16:42 ` Matthew Wilcox
2008-05-06 16:39 ` Alan Cox
2008-05-06 16:51 ` Matthew Wilcox
2008-05-06 16:45 ` Alan Cox
2008-05-06 17:42 ` Linus Torvalds
2008-05-06 20:28 ` Linus Torvalds
2008-05-06 16:44 ` J. Bruce Fields
2008-05-06 17:21 ` Andrew Morton
2008-05-06 17:31 ` Matthew Wilcox
2008-05-06 17:49 ` Ingo Molnar
2008-05-06 18:07 ` Andrew Morton
2008-05-11 11:11 ` Matthew Wilcox
2008-05-06 17:39 ` Ingo Molnar
2008-05-07 6:49 ` Zhang, Yanmin
2008-05-06 17:45 ` Linus Torvalds
2008-05-07 16:38 ` Matthew Wilcox
2008-05-07 16:55 ` Linus Torvalds
2008-05-07 17:08 ` Linus Torvalds
2008-05-07 17:16 ` Andrew Morton
2008-05-07 17:27 ` Linus Torvalds
2008-05-07 17:22 ` Ingo Molnar
2008-05-07 17:25 ` Ingo Molnar
2008-05-07 17:31 ` Linus Torvalds
2008-05-07 17:47 ` Linus Torvalds
2008-05-07 17:49 ` Ingo Molnar
2008-05-07 18:02 ` Linus Torvalds
2008-05-07 18:17 ` Ingo Molnar
2008-05-07 18:27 ` Linus Torvalds
2008-05-07 18:43 ` Ingo Molnar
2008-05-07 19:01 ` Linus Torvalds
2008-05-07 19:09 ` Ingo Molnar
2008-05-07 19:24 ` Matthew Wilcox
2008-05-07 19:44 ` Linus Torvalds
2008-05-07 20:00 ` Oi. NFS people. Read this Matthew Wilcox
2008-05-07 22:10 ` Trond Myklebust
2008-05-09 1:43 ` J. Bruce Fields
2008-05-08 3:24 ` AIM7 40% regression with 2.6.26-rc1 Zhang, Yanmin
2008-05-08 3:34 ` Linus Torvalds
2008-05-08 4:37 ` Zhang, Yanmin
2008-05-08 14:58 ` Linus Torvalds
2008-05-07 2:11 ` Zhang, Yanmin
2008-05-07 3:41 ` Zhang, Yanmin
2008-05-07 3:59 ` Andrew Morton
2008-05-07 4:46 ` Zhang, Yanmin
2008-05-07 6:26 ` Ingo Molnar
2008-05-07 6:28 ` Ingo Molnar
2008-05-07 7:05 ` Zhang, Yanmin
2008-05-07 11:00 ` Andi Kleen
2008-05-07 11:46 ` Matthew Wilcox
2008-05-07 12:21 ` Andi Kleen
2008-05-07 14:36 ` Linus Torvalds
2008-05-07 14:35 ` Alan Cox
2008-05-07 15:00 ` Linus Torvalds
2008-05-07 15:02 ` Linus Torvalds
2008-05-07 14:57 ` Andi Kleen
2008-05-07 15:31 ` Andrew Morton
2008-05-07 16:22 ` Matthew Wilcox
2008-05-07 15:19 ` Linus Torvalds
2008-05-07 17:14 ` Ingo Molnar
2008-05-08 2:44 ` Zhang, Yanmin
2008-05-08 3:29 ` Linus Torvalds
2008-05-08 4:08 ` Zhang, Yanmin
2008-05-08 4:17 ` Linus Torvalds
2008-05-08 12:01 ` [patch] speed up / fix the new generic semaphore code (fix AIM7 40% regression with 2.6.26-rc1) Ingo Molnar
2008-05-08 12:28 ` Ingo Molnar
2008-05-08 14:43 ` Ingo Molnar
2008-05-08 15:10 ` [git pull] scheduler fixes Ingo Molnar
2008-05-08 15:33 ` Adrian Bunk
2008-05-08 15:41 ` Ingo Molnar
2008-05-08 19:42 ` Adrian Bunk
2008-05-11 11:03 ` Matthew Wilcox
2008-05-11 11:14 ` Matthew Wilcox
2008-05-11 11:48 ` Matthew Wilcox
2008-05-11 12:50 ` Ingo Molnar
2008-05-11 12:52 ` Ingo Molnar
2008-05-11 13:02 ` Matthew Wilcox
2008-05-11 13:26 ` Matthew Wilcox
2008-05-11 14:00 ` Ingo Molnar
2008-05-11 14:18 ` Matthew Wilcox
2008-05-11 14:42 ` Ingo Molnar
2008-05-11 14:48 ` Matthew Wilcox
2008-05-11 15:19 ` Ingo Molnar
2008-05-11 15:29 ` Matthew Wilcox
2008-05-13 14:11 ` Ingo Molnar
2008-05-13 14:21 ` Matthew Wilcox
2008-05-13 14:42 ` Ingo Molnar
2008-05-13 15:28 ` Matthew Wilcox
2008-05-13 17:13 ` Ingo Molnar
2008-05-13 17:22 ` Linus Torvalds
2008-05-13 21:05 ` Ingo Molnar
2008-05-11 13:54 ` Ingo Molnar
2008-05-11 14:22 ` Matthew Wilcox
2008-05-11 14:32 ` Ingo Molnar
2008-05-11 14:46 ` Matthew Wilcox
2008-05-11 16:47 ` Linus Torvalds
2008-05-11 13:01 ` Ingo Molnar
2008-05-11 13:06 ` Matthew Wilcox
2008-05-11 13:45 ` Ingo Molnar
2008-05-11 14:10 ` Sven Wegener
2008-05-08 16:02 ` [patch] speed up / fix the new generic semaphore code (fix AIM7 40% regression with 2.6.26-rc1) Linus Torvalds
2008-05-08 18:30 ` Linus Torvalds
2008-05-08 20:19 ` Ingo Molnar
2008-05-08 20:27 ` Linus Torvalds
2008-05-08 21:45 ` Ingo Molnar
2008-05-08 22:02 ` Ingo Molnar
2008-05-08 22:55 ` Linus Torvalds
2008-05-08 23:07 ` Linus Torvalds
2008-05-08 23:14 ` Linus Torvalds
2008-05-08 23:16 ` Alan Cox
2008-05-08 23:33 ` Linus Torvalds
2008-05-08 23:27 ` Alan Cox
2008-05-09 6:50 ` Ingo Molnar
2008-05-09 8:29 ` Andi Kleen
2008-05-08 13:20 ` Matthew Wilcox
2008-05-08 15:01 ` Ingo Molnar
2008-05-08 13:56 ` Arjan van de Ven
2008-05-08 6:43 ` AIM7 40% regression with 2.6.26-rc1 Ingo Molnar
2008-05-08 6:48 ` Andrew Morton
2008-05-08 7:14 ` Zhang, Yanmin
2008-05-08 7:39 ` Ingo Molnar
2008-05-08 8:44 ` Zhang, Yanmin
2008-05-08 9:21 ` Ingo Molnar
2008-05-08 9:29 ` Ingo Molnar
2008-05-08 9:30 ` Zhang, Yanmin
2008-05-07 16:20 ` Ingo Molnar
2008-05-07 16:35 ` Linus Torvalds
2008-05-07 17:05 ` Ingo Molnar [this message]
2008-05-07 17:24 ` Linus Torvalds
2008-05-07 17:36 ` Ingo Molnar
2008-05-07 17:55 ` Linus Torvalds
2008-05-07 17:59 ` Matthew Wilcox
2008-05-07 18:17 ` Linus Torvalds
2008-05-07 18:49 ` Ingo Molnar
2008-05-07 13:59 ` Alan Cox
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=20080507170528.GA11511@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@linux-foundation.org \
--cc=andi@firstfloor.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=torvalds@linux-foundation.org \
--cc=viro@ftp.linux.org.uk \
--cc=yanmin_zhang@linux.intel.com \
/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.