public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Re: scheduler/SCHED_FIFO behaviour
@ 2005-04-07  1:41 Arun Srinivas
  2005-04-07  2:27 ` Steven Rostedt
  0 siblings, 1 reply; 21+ messages in thread
From: Arun Srinivas @ 2005-04-07  1:41 UTC (permalink / raw)
  To: rostedt; +Cc: linux-kernel

I am not sure if my question was clear enough or I couldnt interpret you 
answer correctly.(If it was the case I apologise for that).

My question is, as I said I am measuring the schedule time difference 
between my 2 of my SCHED_FIFO process in schedule() .But, I get only one set 
of readings (i.e., schedule() is being called once which implies my process 
is being scheduled only once and run till completion)

Also, as I said my interrupts are being processed during this time.I 
inspected /proc/interrupts for this.So, my question was if interrupts heve 
been processed several times the 2 SCHED_FIFO process which has been 
interrupted must have been resecheduled several times and for this upon 
returning from the interrupt handler the schedule() function must have been 
called  several times to schedule the 2 process which were running.But, as I 
said I get only one reading??

>From your reply, I come to understand that when an interrupt interrupts my 
user process.....it runs straight way ....but upon return from the interrupt 
handler does it not call schedule() to again resume my interrupted process? 
Please help.

Thanks
arun



>From: Steven Rostedt <rostedt@goodmis.org>
>To: Arun Srinivas <getarunsri@hotmail.com>
>CC: juhl-lkml@dif.dk, LKML <linux-kernel@vger.kernel.org>
>Subject: Re: scheduler/SCHED_FIFO behaviour
>Date: Mon, 04 Apr 2005 23:33:05 -0400
>
>On Tue, 2005-04-05 at 07:46 +0530, Arun Srinivas wrote:
>
> >
> > So, what I want from the above code is whenever process1 or process2 is
> > being scheduled measure the time and print the timedifference. But, when 
>I
> > run my 2 processes as SCHED_FIFO processes i get only one set of
> > readings....indicating they have been scheduled only once and run till
> > completion.
> >
> > But, as we saw above if interrupts have been processed they must have 
>been
> > scheduled several times(i.e., schedule() called several times). Is my
> > measurement procedure not correct?
>
>No! Interrupts are not scheduled. When an interrupt goes off, the
>interrupt service routine (ISR) is executed. It doesn't need to be
>scheduled. It runs right where it interrupted the CPU. That's why you
>need to be careful about protecting data that ISRs manipulate with
>spin_lock_irqsave. This not only protects against multiple CPUs, but
>turns off interrupts so that an interrupt wont be called and one of the
>ISRs modify the data you need to be atomic.
>
>Your tasks are running and will be interrupted by an ISR, on return from
>the routine, a check is made to see if your tasks should be preempted.
>But since they are the highest running tasks and in FIFO mode, the check
>determines that schedule should not be called.  So you will not see any
>schedules while your tasks are running.
>
>Now, if you where running Ingo's RT patch with PREEMPT_HARDIRQ enabled,
>and your tasks were of lower priority than the ISR thread handlers, then
>you would see the scheduling. Maybe that is what you want?
>
>-- Steve
>
>

_________________________________________________________________
Send money to India 
http://ads.mediaturf.net/event.ng/Type=click&FlightID=17307&AdID=44925&TargetID=9763&Targets=9763&Values=414,868,1093,2385&Redirect=http:%2F%2Fwww.icicibanknripromotions.com%2Fm2i_feb%2Fnri_M2I_feb.jsp%3Fadid%3D44925%26siteid%3D1093%26flightid%3D17307 
Get a FREE 30 minute India Calling Card.


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2005-05-02 16:37 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <bpH71yEXU00000397@hotmail.com>
2005-04-03  0:37 ` sched /HT processor Arun Srinivas
2005-04-03  1:17   ` Steven Rostedt
2005-04-03  2:16     ` Arun Srinivas
2005-04-03  4:22       ` Steven Rostedt
2005-04-03  7:52     ` Arun Srinivas
2005-04-03 11:17       ` Jesper Juhl
2005-04-03 15:31         ` Steven Rostedt
2005-04-03 22:52           ` Arun Srinivas
2005-04-03 23:08             ` Steven Rostedt
2005-04-04 23:06               ` scheduler/SCHED_FIFO behaviour Arun Srinivas
2005-04-04 23:17                 ` Steven Rostedt
2005-04-05  2:16                   ` Arun Srinivas
2005-04-05  3:33                     ` Steven Rostedt
2005-04-03 22:52           ` sched /HT processor Arun Srinivas
2005-04-07  1:41 scheduler/SCHED_FIFO behaviour Arun Srinivas
2005-04-07  2:27 ` Steven Rostedt
2005-05-01  2:06   ` Arun Srinivas
2005-05-01 15:51     ` Steven Rostedt
2005-05-02  5:27       ` Arun Srinivas
2005-05-02 10:37         ` Florian Schmidt
2005-05-02 16:33         ` Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox