From: Ingo Molnar <mingo@elte.hu>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>, Andrew Morton <akpm@osdl.org>,
Linus Torvalds <torvalds@osdl.org>,
Anton Blanchard <anton@samba.org>,
Linux Kernel list <linux-kernel@vger.kernel.org>,
Christoph Hellwig <hch@infradead.org>,
Russell King <rmk+lkml@arm.linux.org.uk>
Subject: Re: New consolidate irqs vs . probe_irq_*()
Date: Wed, 20 Oct 2004 11:20:17 +0200 [thread overview]
Message-ID: <20041020092017.GA28054@elte.hu> (raw)
In-Reply-To: <1098262403.6278.16.camel@gaston>
* Benjamin Herrenschmidt <benh@kernel.crashing.org> wrote:
> On Wed, 2004-10-20 at 18:48, Ingo Molnar wrote:
>
> > yeah. I've put it into a separate autoprobe.c file specifically for that
> > reason, you can exclude it in the Makefile and can provide your own
> > architecture version. Or should we make the no-autoprobing choice
> > generic perhaps?
>
> I like this later option... How may archs actually had autoprobing
> implemented and actually used ?
>
> Well, I'll do some grep'ing around tonight as I do the NO_IRQ stuff
> and see what makes more sense. I don't think an arch that didn't have
> autoprobing needs it now, besides, it's not exactly a reliable
> mecanism...
btw., auto-detection of interrupt sources is not _necessarily_ broken.
Especially with level-triggered interrupts (where no active irq source
can get lost) it can be doable and reliable. (Here i dont mean the
probe_irq_on/off interface, but the concept of auto-detection.)
Alan has a very neat hack that fixes laptop BIOS breakage in associating
a screaming interrupt with the driver that responds to it with
IRQ_HANDLED, by probing through all the SHIRQ handlers and checking
whether the return code is IRQ_HANDLED. (this patch was in -mm but has
not been integrated into the generic irq subsystem yet.) This patch
turned a broken-under-Linux into a working laptop so we cannot ignore
it.
In theory, as long as all drivers involved are shared-irq-capable, and
all interrupts are level-triggered and get repeated if unhandled, we can
always do this kinds of driver-feedback-based irq vector discovery.
Think about the positive effects: in theory we could even boot into a
box without _any_ BIOS interrupt info whatsoever, assuming only a few
architecture basics like the identity of the timer interrupt.
Furthermore, if the BIOS reports _bad_ interrupt information, we can
detect & redirect that interrupt to the driver that responds to it.
this is not a concept that would be too useful for the server space, but
it sure could be useful for the produce-and-forget PC mass-market. We
are playing a constant and mostly losing catchup game with BIOS quirks.
what can never work fully reliably is of course what the feature was
used for primarily: ISA :-) One-time edge-triggered interrupts that get
lost are nasty ...
so i thought autodetect.c could survive in the generic code - maybe we
can make something really nice out of it, based on Alan's patch.
Ingo
next prev parent reply other threads:[~2004-10-20 9:31 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-10-20 7:08 [PATCH] Fix PREEMPT_ACTIVE definition Paul Mackerras
2004-10-20 8:33 ` Ingo Molnar
2004-10-20 8:42 ` New consolidate irqs vs . probe_irq_*() Benjamin Herrenschmidt
2004-10-20 8:48 ` Ingo Molnar
2004-10-20 8:53 ` Benjamin Herrenschmidt
2004-10-20 9:20 ` Ingo Molnar [this message]
2004-10-20 10:56 ` Benjamin Herrenschmidt
2004-10-20 9:31 ` Chris Wedgwood
2004-10-20 9:01 ` Russell King
2004-10-20 10:50 ` Benjamin Herrenschmidt
2004-10-20 11:01 ` Russell King
2004-10-20 11:06 ` Benjamin Herrenschmidt
2004-10-20 11:53 ` Paul Mackerras
2004-10-20 12:31 ` Russell King
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=20041020092017.GA28054@elte.hu \
--to=mingo@elte.hu \
--cc=akpm@osdl.org \
--cc=anton@samba.org \
--cc=benh@kernel.crashing.org \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paulus@samba.org \
--cc=rmk+lkml@arm.linux.org.uk \
--cc=torvalds@osdl.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 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.