From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
To: "'Con Kolivas'" <kernel@kolivas.org>
Cc: "'Nick Piggin'" <nickpiggin@yahoo.com.au>,
<linux-kernel@vger.kernel.org>, "'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 15:58:12 -0700 [thread overview]
Message-ID: <000501c68698$06378290$df34030a@amr.corp.intel.com> (raw)
In-Reply-To: <200606030831.41117.kernel@kolivas.org>
Con Kolivas wrote on Friday, June 02, 2006 3:32 PM
> > > > But you keep on missing the point that this only happens in the initial
> > > > stage of tasks competing for CPU resources.
> > > >
> > > > If this is broken, then current smt nice is equally broken with the
> > > > same reasoning: once the low priority task gets scheduled, there is
> > > > nothing to kick it off the CPU until its entire time slice get used up.
> > > > They compete equally with a high priority task running on the sibling
> > > > CPU.
> > >
> > > There has to be some way of metering it out and in the absence of cpu
> > > based hardware priority support (like ppc64 has) the only useful thing we
> > > have to work with is timeslice. Yes sometimes the high priority task is
> > > at the start and sometimes at the end of the timeslice but overall it
> > > balances the proportions out reasonably fairly.
> >
> > Good! Then why special case the initial stage? Just let task run and it
> > will even out statistically. Everyone is happy, less code, less special
> > case, same end result.
>
> Hang on I think I missed something there. What did you conclude I conceded
> there? When I say "work with timeslice" I mean use percentage of timeslice
> the way smt nice currently does.
You haven't answered my question either. What is the benefit of special
casing the initial stage of cpu resource competition? Is it quantitatively
measurable? If so, how much and with what workload?
Also there are oddness in the way that the sleep decision is made: 75% of
resched decision is to sleep, while 25% of the time is to run, but there
are fussiness in there and all depends on when the resched and time slice
expires. Considering a scenario when resched occurs on jiffies%100 = 10,
and low priority task time slice of 100 jiffies, the current code always
decide to run the low priority task!
if (rt_task(smt_curr)) {
/*
* With real time tasks we run non-rt tasks only
* per_cpu_gain% of the time.
*/
if ((jiffies % DEF_TIMESLICE) >
(sd->per_cpu_gain * DEF_TIMESLICE / 100))
ret = 1;
The whole point is: precise fairness can not be (or difficult to) control
at milli-second range. It all will work out statistically in a long run.
Which again brings back the question: what does the special casing in
precision control will bring to the overall scheme? So far, I have not
seen any quantitative measure at all that indicates it is a win.
- Ken
next prev parent reply other threads:[~2006-06-02 23:04 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-06-01 22:55 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 [this message]
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
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='000501c68698$06378290$df34030a@amr.corp.intel.com' \
--to=kenneth.w.chen@intel.com \
--cc=kernel@kolivas.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome