From: Ingo Molnar <mingo@elte.hu>
To: Steven Rostedt <rostedt@goodmis.org>
Cc: Andrew Morton <akpm@osdl.org>, LKML <linux-kernel@vger.kernel.org>
Subject: Re: Does smp_reschedule_interrupt really reschedule?
Date: Fri, 13 May 2005 20:26:31 +0200 [thread overview]
Message-ID: <20050513182631.GA15916@elte.hu> (raw)
In-Reply-To: <1116008299.4728.19.camel@localhost.localdomain>
* Steven Rostedt <rostedt@goodmis.org> wrote:
> As the comment says, do nothing since all the work is automatically
> done at the return from interrupt. But is it? Doesn't the
> need_resched need to be set? Here's what I'm seeing with Ingo's
> kernel. I capture the time in sched.c when the
> smp_send_reschedule_allbutself is called, and also a capture of the
> time when the schedule actually takes place. I'm finding differences
> up to 2 tenths of a second. That's TENTHS! I added the following
> patch:
it's all a bit tricky. The short story is that i think both vanilla and
-RT kernels are fine.
Here is how smp_send_reschedule() is used:
CPU#0 CPU#1
set_tsk_need_resched(rq->curr);
...
smp_send_reschedule()
--- IPI --->
smp_reschedule_interrupt();
...
entry.S's need_resched check
_but_, this is intentionally racy: if CPU#1 happens to reschedule before
the IPI reaches CPU#1 (an IPI can take 10 usecs easily so the window is
not small), then need_resched might be cleared before the IPI hits. In
that case you wont get a reschedule after the IPI hits, because it was
done before!
so the correct thing to measure is what the -RT kernel's wakeup-latency
timing feature does: the time from setting need_resched, to the point
the task starts to run. The feature works on SMP too - and it doesnt
show any large latencies.
are you seeing actual process delays? If not then i think those large
latencies are just the result of the wrong assumptions in your
measurement code.
Ingo
next prev parent reply other threads:[~2005-05-13 18:27 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-13 18:18 Does smp_reschedule_interrupt really reschedule? Steven Rostedt
2005-05-13 18:26 ` Ingo Molnar [this message]
2005-05-13 18:51 ` Steven Rostedt
2005-05-14 6:37 ` Ingo Molnar
2005-05-14 11:32 ` Steven Rostedt
2005-05-14 14:27 ` Ingo Molnar
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=20050513182631.GA15916@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rostedt@goodmis.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.