mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Gérard Roudier" <groudier@free.fr>
To: Ingo Molnar <mingo@elte.hu>
Cc: Zwane Mwaikambo <zwane@mwaikambo.name>,
	Linus Torvalds <torvalds@transmeta.com>,
	Robert Love <rml@tech9.net>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH][RFC] per isr in_progress markers
Date: Wed, 11 Sep 2002 00:37:55 +0200 (CEST)	[thread overview]
Message-ID: <20020911000220.F4042-100000@localhost.my.domain> (raw)
In-Reply-To: <Pine.LNX.4.44.0209092122030.4648-100000@localhost.localdomain>



On Mon, 9 Sep 2002, Ingo Molnar wrote:

>
> On Mon, 9 Sep 2002, Zwane Mwaikambo wrote:
>
> > As an aside, i just had an idea for another way to improve interrupt
> > handling latency. Instead of walking through all the isrs in the chain,
> > we can have an isr flag wether it was the source of the irq, and if so
> > we stop right there and not walk through the other isrs. Obviously
> > taking into account that some devices are dumb and have no real way of
> > determining.
>
> this is something i have a 0.5 MB patch for that touches a few hundred
> drivers. I can dust it off if there's demand - it will break almost
> nothing because i've done the hard work of adding the default 'no work was
> done' bit to every driver's IRQ handler.

Level-triggerred (aka level-sensitive) interrupt is a condition. No matter
which device raises the condition first when, in fact, more than one
device did so. IMO, the heuristics that try to associate a CPU interrupt
to a single device source are broken when level triggerred is the concern,
for the simple reason they just rely on false assumptions. (The same
way, 'no work was done' for a device does not means that it is 100% sure
IRQ wasn't triggerred by this device).

Prior to improve something, we should want to estimate if there is really
room for improvement. For example, does Linux have to handle far more
interrupts than really needed ? The 'no work was done' you suggest can
help maintaining such stats and see if the kernel is good or bad in this
area. When applied in a per device manner, it might be accurate on low IRQ
load, but may significantly lie in high IRQ load situation, IMO.

Only having driver isr's returning some 'no work was done' is not enough
to optimize interrupts, in my opinion. What we want to know is if we got
too many interrupts or not. We need more information for this. For
example, drivers could also tell the kernel about the number of real
completions or some number of interrupts that can be considered useful.
For example, if a driver expects 1 interrupt per IOs, it might export to
the kernel the number of completed IOs ...

  Gérard.


  parent reply	other threads:[~2002-09-10 20:49 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-07 22:34 Zwane Mwaikambo
2002-09-08  7:55 ` Ingo Molnar
2002-09-08  8:15   ` Ingo Molnar
2002-09-08 10:38     ` Zwane Mwaikambo
2002-09-08 13:31     ` Zwane Mwaikambo
2002-09-08 16:59       ` Zwane Mwaikambo
2002-09-08 22:01         ` Linus Torvalds
2002-09-08 23:03           ` Jeff Garzik
2002-09-09  6:49           ` bert hubert
2002-09-09 16:24             ` Linus Torvalds
2002-09-09 10:06           ` Ingo Molnar
2002-09-09 15:06             ` Linus Torvalds
2002-09-09 18:44               ` Ingo Molnar
2002-09-09 18:53                 ` Linus Torvalds
2002-09-09 19:37                   ` Zwane Mwaikambo
2002-09-09 19:23                     ` Ingo Molnar
2002-09-09 20:05                       ` Zwane Mwaikambo
2002-09-09 20:08                       ` Andrew Morton
2002-09-10 15:05                       ` David Woodhouse
2002-09-10 15:32                         ` Alan Cox
2002-09-10 22:37                       ` Gérard Roudier [this message]
2002-09-09 19:38                     ` Maciej W. Rozycki
2002-09-10 11:55                     ` Stephan von Krawczynski
2002-09-10 18:07                     ` Gunther Mayer
2002-09-10 18:38                       ` Zwane Mwaikambo
2002-09-10  7:46                   ` Rogier Wolff
2002-09-08 10:57   ` Zwane Mwaikambo
2002-09-09 20:40     ` Alan Cox
2002-09-09 20:48       ` Andre Hedrick
2002-09-10 17:47         ` Zwane Mwaikambo
2002-09-09  9:49 zwane
2002-09-09 14:34 ` Robert Love
2002-09-09 18:23   ` Zwane Mwaikambo
2002-09-09 10:13 zwane

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=20020911000220.F4042-100000@localhost.my.domain \
    --to=groudier@free.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rml@tech9.net \
    --cc=torvalds@transmeta.com \
    --cc=zwane@mwaikambo.name \
    /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

all inboxes | Powered by JetHome®