From: Ingo Molnar <mingo@elte.hu>
To: Zwane Mwaikambo <zwane@mwaikambo.name>
Cc: Robert Love <rml@tech9.net>,
Linux Kernel <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@transmeta.com>
Subject: Re: [PATCH][RFC] per isr in_progress markers
Date: Sun, 8 Sep 2002 10:15:39 +0200 (CEST) [thread overview]
Message-ID: <Pine.LNX.4.44.0209080957410.17502-100000@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.44.0209080952410.16565-100000@localhost.localdomain>
> [...] But your patch is very tempting nevertheless, it removes much of
> the disadvantage of sharing interrupt lines. Most of the handlers on the
> chain are supposed to be completely independent.
one big issue are level triggered interrupts - your approach makes no
sense in the way we disable/ack the IRQ line currently:
disable IRQ line
ack APIC
-> call handler
while (work_left) {
ack interrupt on the card [*]
[... full processing ...]
}
if we didnt disable the IRQ line then an additional interrupt would be
triggered when [*] is done.
it could perhaps be handled the following way:
disable IRQ line
ack APIC
-> call handler
while (work_left) {
ack interrupt on the card [*]
enable IRQ line [**]
[... full processing ...]
}
so after [**] is done we could accept new interrupts, and the amount of
time we keep the irq line disabled should be small. Obviously this means
driver level changes.
an additional nit even for edge-triggered interrupts: synchronize_irq()
needs to be aware of the new bit on SMP, now that IRQ_PENDING is not
showing the true 'pending' state anymore. But it's doable. Basically
IRQ_PENDING would be gone completely, and replaced by a more complex set
of bits in the action struct. In the normal unshared case it should be
almost as efficient as the IRQ_PENDING bit.
in fact i'd suggest to also add a desc->pending counter in addition to the
per-action flag, to make it cheaper to determine whether there are any
pending handlers on the chain.
also some other code needs to be updated as well to be aware of the
changed pending-semantics: enable_irq() and probe_irq_on().
Ingo
next prev parent reply other threads:[~2002-09-08 8:05 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 [this message]
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
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=Pine.LNX.4.44.0209080957410.17502-100000@localhost.localdomain \
--to=mingo@elte.hu \
--cc=linux-kernel@vger.kernel.org \
--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®