public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: george anzinger <george@mvista.com>
To: Linus Torvalds <torvalds@transmeta.com>
Cc: Matthew Wilcox <willy@debian.org>, Robert Love <rml@mvista.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] Replace timer_bh with tasklet
Date: Tue, 18 Jun 2002 11:07:32 -0700	[thread overview]
Message-ID: <3D0F76E4.AC6EA257@mvista.com> (raw)
In-Reply-To: Pine.LNX.4.44.0206172104450.1164-100000@home.transmeta.com

Linus Torvalds wrote:
> 
> On Mon, 17 Jun 2002, george anzinger wrote:
> >
> > This patch replaces the timer_bh with a tasklet.  It also introduces a
> > way to flag a tasklet as a must run (i.e. do NOT kick up to ksoftirqd).
> >
> > It make NO sense to pass timer work to a task.
> 
> I hate adding infrastructure that isn't needed.
> 
> Is there any reason why it would be _wrong_ to pass the timer work to a
> task? In particular, is it really any more wrong than anything else?
> 
> I don't see that there is any difference between a timer bh and any other
> BH.

I reasoned that the timers, unlike most other I/O, directly drive the system.  
For example, the time slice is counted down by the timer BH.  By pushing the 
timer out to ksoftirqd, running at nice 19, you open the door to a compute 
bound task running over its time slice (admittedly this should be caught on 
the next interrupt).  Also, a great deal of the system depends on timers to 
expire reasonably close to the correct time and not to be delayed by 
scheduling decisions (oops, recursion).

As to infrastructure, why is ksoftirqd needed at all?  IMNSHO it introduces 
system overhead just when the system is most loaded.  The work must be done 
sometime soon in any case. Interrupts are on so all we are gaining is a bit 
of responsiveness in the current task.  But who is to say that the more 
important task isn't being held off by the delay introduced by the 
ksoftirqd "feature".

I do think that it would be a good thing to move some BH processing to the 
task level, but I think it must be done selectively AND that there should 
be a task per BH.  That task should also be adjusted in priority, to the 
users requirements.  This would allow, for example, the network BH code 
to run at a mid level priority such that some real time tasks could 
preempt it, while others could be preempted by it.  

But today we are just trying to say that of all the BH handlers, the 
timer BH, since it drives the scheduler, is more important than other BHs.
> 
>                 Linus
> 
> PS. Your email is also seriously whitespace-damaged, so the patch
> wouldn't have worked anyway.

Sigh, I know....  Lets agree on what is to be done and I will cut a new patch...
-- 
George Anzinger   george@mvista.com
High-res-timers:  http://sourceforge.net/projects/high-res-timers/
Real time sched:  http://sourceforge.net/projects/rtsched/
Preemption patch: http://www.kernel.org/pub/linux/kernel/people/rml

  reply	other threads:[~2002-06-18 18:08 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-18  3:45 [PATCH] Replace timer_bh with tasklet george anzinger
2002-06-18  4:06 ` Linus Torvalds
2002-06-18 18:07   ` george anzinger [this message]
2002-06-18 22:46     ` Richard Zidlicky
2002-06-18 23:17       ` george anzinger
2002-06-19 11:43         ` Richard Zidlicky
2002-06-18  4:15 ` David S. Miller
2002-06-18 17:01   ` george anzinger
2002-06-18 17:12     ` Matthew Wilcox
2002-06-18 18:14   ` george anzinger
2002-06-18  5:16 ` kuznet
2002-06-18 18:19   ` george anzinger
2002-06-18 18:29     ` kuznet
2002-06-20  0:39       ` george anzinger
2002-06-20  1:34         ` David S. Miller
2002-06-20  1:53           ` Robert Love
2002-06-20  1:55             ` David S. Miller
2002-06-20  2:05               ` Robert Love
2002-06-20  2:01                 ` David S. Miller
2002-06-20  2:15                   ` Robert Love
2002-06-20  2:23                     ` David S. Miller
2002-06-20 23:54                       ` george anzinger
2002-06-21  1:03                         ` David S. Miller
2002-06-21 14:04                           ` george anzinger
2002-06-21 14:08                             ` David S. Miller
2002-06-20  8:11               ` Russell King
2002-06-20  8:09                 ` David S. Miller
2002-06-20  8:16                   ` Russell King
2002-06-20  8:13               ` Russell King
2002-06-20 14:33             ` kuznet

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=3D0F76E4.AC6EA257@mvista.com \
    --to=george@mvista.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rml@mvista.com \
    --cc=torvalds@transmeta.com \
    --cc=willy@debian.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox