All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Nathan Lynch <ntl@pobox.com>
Cc: linuxppc-dev@ozlabs.org, Peter Zijlstra <a.p.zijlstra@chello.nl>,
	Paul Mackerras <paulus@samba.org>,
	linux-kernel@vger.kernel.org, Anton Blanchard <anton@samba.org>
Subject: Re: [RFC/PATCH 0/3] sched: allow arch override of cpu power
Date: Thu, 19 Jun 2008 11:50:48 +0200	[thread overview]
Message-ID: <20080619095048.GD15228@elte.hu> (raw)
In-Reply-To: <1213835374-10868-1-git-send-email-ntl@pobox.com>


* Nathan Lynch <ntl@pobox.com> wrote:

> There is an "interesting" quality of POWER6 cores, which each have 2 
> hardware threads: assuming one thread on the core is idle, the primary 
> thread is a little "faster" than the secondary thread.  To illustrate:
> 
> for cpumask in 0x1 0x2 ; do
>     taskset $cpumask /usr/bin/time -f "%e elapsed, %U user, %S sys" \
>             /bin/sh -c "i=1000000 ; while (( i-- )) ; do : ; done"
> done
> 
> 17.05 elapsed, 16.83 user, 0.22 sys
> 17.54 elapsed, 17.32 user, 0.22 sys
> 
> (The first result is for a primary thread; the second result for a 
> secondary thread.)
> 
> So it would be nice to have the scheduler slightly prefer primary 
> threads on POWER6 machines.  These patches, which allow the 
> architecture to override the scheduler's CPU "power" calculation, are 
> one possible approach, but I'm open to others.  Please note: these 
> seemed to have the desired effect on 2.6.25-rc kernels (2-3% 
> improvement in a kernbench-like make -j <nr_cores>), but I'm not 
> seeing this improvement with 2.6.26-rc kernels for some reason I am 
> still trying to track down.

ok, i guess that discrepancy has to be tracked down before we can think 
about these patches - but the principle is OK.

One problem is that the whole cpu-power balancing code in sched.c is a 
bit ... unclear and under-documented. So any change to this area should 
begin at documenting the basics: what do the units mean exactly, how are 
they used in balancing and what is the desired effect.

I'd not be surprised if there were a few buglets in this area, SMT is 
not at the forefront of testing at the moment. There's nothing 
spectacularly broken in it (i have a HT machine myself), but the 
concepts have bitrotten a bit. Patches - even if they just add comments 
- are welcome :-)

	Ingo

WARNING: multiple messages have this Message-ID (diff)
From: Ingo Molnar <mingo@elte.hu>
To: Nathan Lynch <ntl@pobox.com>
Cc: linux-kernel@vger.kernel.org, linuxppc-dev@ozlabs.org,
	Paul Mackerras <paulus@samba.org>,
	Anton Blanchard <anton@samba.org>,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [RFC/PATCH 0/3] sched: allow arch override of cpu power
Date: Thu, 19 Jun 2008 11:50:48 +0200	[thread overview]
Message-ID: <20080619095048.GD15228@elte.hu> (raw)
In-Reply-To: <1213835374-10868-1-git-send-email-ntl@pobox.com>


* Nathan Lynch <ntl@pobox.com> wrote:

> There is an "interesting" quality of POWER6 cores, which each have 2 
> hardware threads: assuming one thread on the core is idle, the primary 
> thread is a little "faster" than the secondary thread.  To illustrate:
> 
> for cpumask in 0x1 0x2 ; do
>     taskset $cpumask /usr/bin/time -f "%e elapsed, %U user, %S sys" \
>             /bin/sh -c "i=1000000 ; while (( i-- )) ; do : ; done"
> done
> 
> 17.05 elapsed, 16.83 user, 0.22 sys
> 17.54 elapsed, 17.32 user, 0.22 sys
> 
> (The first result is for a primary thread; the second result for a 
> secondary thread.)
> 
> So it would be nice to have the scheduler slightly prefer primary 
> threads on POWER6 machines.  These patches, which allow the 
> architecture to override the scheduler's CPU "power" calculation, are 
> one possible approach, but I'm open to others.  Please note: these 
> seemed to have the desired effect on 2.6.25-rc kernels (2-3% 
> improvement in a kernbench-like make -j <nr_cores>), but I'm not 
> seeing this improvement with 2.6.26-rc kernels for some reason I am 
> still trying to track down.

ok, i guess that discrepancy has to be tracked down before we can think 
about these patches - but the principle is OK.

One problem is that the whole cpu-power balancing code in sched.c is a 
bit ... unclear and under-documented. So any change to this area should 
begin at documenting the basics: what do the units mean exactly, how are 
they used in balancing and what is the desired effect.

I'd not be surprised if there were a few buglets in this area, SMT is 
not at the forefront of testing at the moment. There's nothing 
spectacularly broken in it (i have a HT machine myself), but the 
concepts have bitrotten a bit. Patches - even if they just add comments 
- are welcome :-)

	Ingo

  parent reply	other threads:[~2008-06-19  9:51 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-06-19  0:29 [RFC/PATCH 0/3] sched: allow arch override of cpu power Nathan Lynch
2008-06-19  0:29 ` Nathan Lynch
2008-06-19  0:29 ` [RFC/PATCH 1/3] sched: support arch override of sched_group " Nathan Lynch
2008-06-19  0:29   ` Nathan Lynch
2008-06-19  0:29 ` [RFC/PATCH 2/3] add cpu_power to machdep_calls, override SD_SIBLING_INIT Nathan Lynch
2008-06-19  0:29   ` Nathan Lynch
2008-06-19  0:29 ` [RFC/PATCH 3/3] adjust cpu power for secondary threads on POWER6 Nathan Lynch
2008-06-19  0:29   ` Nathan Lynch
2008-06-19  2:58   ` Olof Johansson
2008-06-19  2:58     ` Olof Johansson
2008-06-19  3:03     ` Olof Johansson
2008-06-19  3:03       ` Olof Johansson
2008-06-19  9:50 ` Ingo Molnar [this message]
2008-06-19  9:50   ` [RFC/PATCH 0/3] sched: allow arch override of cpu power Ingo Molnar
2008-06-19 17:09   ` Nathan Lynch
2008-06-19 17:09     ` Nathan Lynch
2008-06-26 19:49 ` Breno Leitao
2008-06-26 19:49   ` Breno Leitao
2008-06-27 14:23   ` Nathan Lynch
2008-06-27 14:23     ` Nathan Lynch

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=20080619095048.GD15228@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=anton@samba.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=ntl@pobox.com \
    --cc=paulus@samba.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.