All of lore.kernel.org
 help / color / mirror / Atom feed
From: Steven Rostedt <rostedt@goodmis.org>
To: Ingo Molnar <mingo@elte.hu>
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 14:51:20 -0400	[thread overview]
Message-ID: <1116010280.4728.29.camel@localhost.localdomain> (raw)
In-Reply-To: <20050513182631.GA15916@elte.hu>

On Fri, 2005-05-13 at 20:26 +0200, Ingo Molnar wrote:
> 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
> 

OK, Forget about vanilla, I'm keeping to your kernel now ;-) 

In finish_task_switch, where is need_resched set?


> _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.

No this wasn't from real world applications yet. So the bug may rightly
be with the placement of my timers.  I was looking at the code and
didn't know how the reschedule takes place and started testing it.  Let
me know where that need_resched is with that finish_task_switch code,
and I'll probably be happy with just that.

Thanks,

-- Steve


  reply	other threads:[~2005-05-13 18:56 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
2005-05-13 18:51   ` Steven Rostedt [this message]
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=1116010280.4728.29.camel@localhost.localdomain \
    --to=rostedt@goodmis.org \
    --cc=akpm@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    /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.