From: Con Kolivas <kernel@kolivas.org>
To: linux-kernel@vger.kernel.org
Cc: Nick Piggin <nickpiggin@yahoo.com.au>,
"Chen, Kenneth W" <kenneth.w.chen@intel.com>,
"'Chris Mason'" <mason@suse.com>, Ingo Molnar <mingo@elte.hu>
Subject: Re: [PATCH RFC] smt nice introduces significant lock contention
Date: Fri, 2 Jun 2006 23:16:39 +1000 [thread overview]
Message-ID: <200606022316.41139.kernel@kolivas.org> (raw)
In-Reply-To: <200606022030.11481.kernel@kolivas.org>
On Friday 02 June 2006 20:30, Con Kolivas wrote:
> On Friday 02 June 2006 18:56, Nick Piggin wrote:
> > And why do we lock all siblings in the other case, for that matter? (not
> > that it makes much difference except on niagara today).
>
> If we spinlock (and don't trylock as you're proposing) we'd have to do a
> double rq lock for each sibling. I guess half the time double_rq_lock will
> only be locking one runqueue... with 32 runqueues we either try to lock all
> 32 or lock 1.5 runqueues 32 times... ugh both are ugly.
Thinking some more on this it is also clear that the concept of per_cpu_gain
for smt is basically wrong once we get beyond straight forward 2 thread
hyperthreading. If we have more than 2 thread units per physical core, the
per cpu gain per logical core will decrease the more threads are running on
it. While it's always been obvious the gain per logical core is entirely
dependant on the type of workload and wont be a simple 25% increase in cpu
power, it is clear that even if we assume an "overall" increase in cpu for
each logical core added, there will be some non linear function relating
power increase to thread units used. :-|
--
-ck
next prev parent reply other threads:[~2006-06-02 13:17 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-01 22:55 [PATCH RFC] smt nice introduces significant lock contention Chris Mason
2006-06-01 23:57 ` Chen, Kenneth W
2006-06-02 1:59 ` Con Kolivas
2006-06-02 2:28 ` Con Kolivas
2006-06-02 3:55 ` Con Kolivas
2006-06-02 4:18 ` Nick Piggin
2006-06-02 6:08 ` Con Kolivas
2006-06-02 7:53 ` Nick Piggin
2006-06-02 8:17 ` Con Kolivas
2006-06-02 8:28 ` Nick Piggin
2006-06-02 8:34 ` Chen, Kenneth W
2006-06-02 8:56 ` Nick Piggin
2006-06-02 9:17 ` Chen, Kenneth W
2006-06-02 9:25 ` Con Kolivas
2006-06-02 9:31 ` Chen, Kenneth W
2006-06-02 9:34 ` Con Kolivas
2006-06-02 9:53 ` Chen, Kenneth W
2006-06-02 10:12 ` Con Kolivas
2006-06-02 20:53 ` Chen, Kenneth W
2006-06-02 22:15 ` Con Kolivas
2006-06-02 22:19 ` Chen, Kenneth W
2006-06-02 22:31 ` Con Kolivas
2006-06-02 22:58 ` Chen, Kenneth W
2006-06-03 0:02 ` Con Kolivas
2006-06-03 0:08 ` Chen, Kenneth W
2006-06-03 0:27 ` Con Kolivas
2006-06-02 9:36 ` Chen, Kenneth W
2006-06-02 10:30 ` Con Kolivas
2006-06-02 13:16 ` Con Kolivas [this message]
2006-06-02 21:54 ` Chen, Kenneth W
2006-06-02 22:04 ` Con Kolivas
2006-06-02 22:14 ` Chen, Kenneth W
2006-06-02 10:19 ` Con Kolivas
2006-06-02 20:59 ` Chen, Kenneth W
2006-06-02 8:38 ` Chen, Kenneth W
2006-06-02 8:24 ` Chen, Kenneth W
2006-06-02 8:31 ` Chen, Kenneth W
2006-06-02 8:50 ` Chen, Kenneth W
2006-06-02 2:35 ` Chen, Kenneth W
2006-06-02 3:04 ` Con Kolivas
2006-06-02 3:23 ` Con Kolivas
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=200606022316.41139.kernel@kolivas.org \
--to=kernel@kolivas.org \
--cc=kenneth.w.chen@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mason@suse.com \
--cc=mingo@elte.hu \
--cc=nickpiggin@yahoo.com.au \
/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.