lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 04 Jun 2008 18:27:42 -0400
From:	Jon Masters <jcm@...hat.com>
To:	"Maciej W. Rozycki" <macro@...ux-mips.org>
Cc:	Stefan Assmann <sassmann@...e.de>,
	"Eric W. Biederman" <ebiederm@...ssion.com>,
	Olaf Dabrunz <od@...e.de>,
	Thomas Gleixner <tglx@...utronix.de>,
	Ingo Molnar <mingo@...e.hu>, "H. Peter Anvin" <hpa@...or.com>,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 0/7] Boot IRQ quirks and rerouting


On Wed, 2008-06-04 at 23:07 +0100, Maciej W. Rozycki wrote:
> On Wed, 4 Jun 2008, Jon Masters wrote:
> 
> > I disagree. I think it's now actually the *inverse*. It /used/ to be
> > harder, because you didn't have a context in which you could do many
> > things (so you need to schedule some kind of deferred work), but
> > actually, it'll become a lot more attractive with device threads.
> 
>  Well, I mean it's easier to do all the handling sequentially in the
> hardirq context than split the thing and deal with all the communication,
> locking, possible races, etc. so people avoid it unless really forced to.  
> In principle all the interrupt handlers could be split like this except
> those really, really tiny ones or where latency is absolutely critical.  
> Yet it often does not happen.

I'm really not proposing a return to top/bottom halves...

*). Top level handler is *tiny*. It's job is to get called (along with
every other such function registered for a particular IRQ line) and
determine if its device generated the interrupt, and to acknowledge,
preventing the device from asserting the IRQ line any longer.

The top part is called in hard IRQ context, even on RT.

*). Bottom level is automatically scheduled by the kernel in response to
the top part acknowledging that its device caused the interrupt.

The bottom part is run inside a dedicated kernel thread.

So pretty much everything is in the thread.

Jon.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ