From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Ingo Molnar <mingo@elte.hu>
Cc: "Luck, Tony" <tony.luck@intel.com>,
linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>,
linux-arch@vger.kernel.org
Subject: Re: [patch] sched: unlocked context-switches
Date: Sat, 09 Apr 2005 16:28:18 +1000 [thread overview]
Message-ID: <42577602.8090507@yahoo.com.au> (raw)
In-Reply-To: <20050409043848.GA2677@elte.hu>
Ingo Molnar wrote:
> * Luck, Tony <tony.luck@intel.com> wrote:
>
>
>>>tested on x86, and all other arches should work as well, but if an
>>>architecture has irqs-off assumptions in its switch_to() logic
>>>it might break. (I havent found any but there may such assumptions.)
>>
>>The ia64_switch_to() code includes a section that can change a pinned
>>MMU mapping (when the stack for the new process is in a different
>>granule from the stack for the old process). [...]
>
>
> thanks - updated patch below. Any other architectures that switch the
> kernel stack in a nonatomic way? x86/x64 switches it atomically.
>
Well that does look like a pretty good cleanup. It certainly is
the final step in freeing complex architecture switching code
from entanglement with scheduler internal locking, and unifies
the locking scheme.
I did propose doing unconditionally unlocked switches a while
back when my patch first popped up - you were against it then,
but I guess you've had second thoughts?
It does add an extra couple of stores to on_cpu, and a wmb()
for architectures that didn't previously need the unlocked
switches. And ia64 needs the extra interrupt disable / enable.
Probably worth it?
Minor style request: I like that you're accessing ->on_cpu
through functions so the !SMP case doesn't clutter the code
with ifdefs... but can you do set_task_on_cpu(p) and
clear_task_on_cpu(p) ?
Thanks.
--
SUSE Labs, Novell Inc.
next prev parent reply other threads:[~2005-04-09 6:28 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-04-08 18:38 [patch] sched: unlocked context-switches Luck, Tony
2005-04-08 18:38 ` Luck, Tony
2005-04-09 4:38 ` Ingo Molnar
2005-04-09 6:28 ` Nick Piggin [this message]
2005-04-09 6:55 ` Ingo Molnar
2005-04-09 7:11 ` Nick Piggin
2005-04-09 9:22 ` Benjamin Herrenschmidt
2005-04-09 22:46 ` David S. Miller
2005-04-10 7:23 ` Richard Henderson
[not found] <3R6Ir-89Y-23@gated-at.bofh.it>
2005-04-09 6:32 ` David Mosberger-Tang
2005-04-09 7:07 ` Ingo Molnar
2005-04-09 7:15 ` David Mosberger
2005-04-09 22:58 ` David S. Miller
2005-04-10 6:43 ` Ingo Molnar
2005-04-12 1:06 ` David Mosberger
2005-04-12 2:12 ` Nick Piggin
2005-04-12 17:14 ` David Mosberger
2005-04-13 3:26 ` Nick Piggin
2005-04-12 6:42 ` Ingo Molnar
2005-04-12 17:15 ` David Mosberger
-- strict thread matches above, loose matches on Subject: below --
2005-04-08 12:16 Ingo Molnar
2005-04-29 9:09 ` Andrew Morton
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=42577602.8090507@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@osdl.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tony.luck@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.