From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Christoph Lameter <clameter@sgi.com>
Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>,
Ingo Molnar <mingo@elte.hu>,
Peter Williams <pwil3058@bigpond.net.au>,
linux-kernel@vger.kernel.org
Subject: Re: [RFC] sched_tick with interrupts enabled
Date: Thu, 19 Oct 2006 03:21:32 +1000 [thread overview]
Message-ID: <4536629C.4050807@yahoo.com.au> (raw)
In-Reply-To: <Pine.LNX.4.64.0610181001480.28582@schroedinger.engr.sgi.com>
Christoph Lameter wrote:
> scheduler_tick() has the potential of running for some time if f.e.
> sched_domains for a system with 1024 processors have to be balanced.
> We currently do all of that with interrupts disabled. So we may be unable
> to service interrupts for some time.
>
> I wonder if it would be possible to put the sched_tick() into a tasklet and
> allow interrupts to be enabled? Preemption is still disabled and so we
> are stuck on a cpu.
I don't think so because it also does accounting which probably wants to
be precisely on a tick.
Also the timeslice accounting takes the rq lock without disabling interrupt,
and task wakeups can easily happen from interrupt / softirq.
Taking rebalance_tick out of scheduler_tick, and not calling rebalance_tick
from sched_fork is probably a good idea.
After that, it might be acceptable to call rebalance_tick from a tasklet,
although it would be uneeded overhead on small systems. It might be better
to have a special case for your large systems which does the full balance
and runs less frequently in a tasklet (and make your regular rebalance_tick
skip the top level balancing).
--
SUSE Labs, Novell Inc.
Send instant messages to your online friends http://au.messenger.yahoo.com
next prev parent reply other threads:[~2006-10-18 17:21 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-18 17:04 [RFC] sched_tick with interrupts enabled Christoph Lameter
2006-10-18 17:21 ` Nick Piggin [this message]
2006-10-18 18:01 ` Christoph Lameter
2006-10-18 18:09 ` Nick Piggin
2006-10-18 18:48 ` Christoph Lameter
2006-10-18 19:14 ` Nick Piggin
2006-10-18 21:59 ` Christoph Lameter
2006-10-19 2:19 ` Siddha, Suresh B
2006-10-19 10:16 ` KAMEZAWA Hiroyuki
2006-10-19 15:50 ` Christoph Lameter
2006-10-19 20:40 ` Siddha, Suresh B
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=4536629C.4050807@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=clameter@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=pwil3058@bigpond.net.au \
--cc=suresh.b.siddha@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.