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]
Message-Id: <1236358944.6326.538.camel@laptop>
Date:	Fri, 06 Mar 2009 18:02:24 +0100
From:	Peter Zijlstra <peterz@...radead.org>
To:	Benjamin Herrenschmidt <benh@...nel.crashing.org>
Cc:	Linus Torvalds <torvalds@...ux-foundation.org>,
	Ingo Molnar <mingo@...e.hu>,
	Thomas Gleixner <tglx@...utronix.de>,
	lkml <linux-kernel@...r.kernel.org>,
	linux-arch <linux-arch@...r.kernel.org>,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [RFC][PATCH] irq: remove IRQF_DISABLED

On Fri, 2009-03-06 at 11:24 +0100, Peter Zijlstra wrote:
> On Fri, 2009-03-06 at 20:59 +1100, Benjamin Herrenschmidt wrote:
> > > If you have distinct interrupt priorities, you can
> > > 
> > > 1) provide an interrupt stack for each priority
> > > 2) mask all lower priorities when handling one
> > > 
> > > Would that not work?
> > 
> > The PIC does that already. IE. it will only interrupt again before
> > ->eoi() for an interrupt of a higher priority. But by using
> > IRQF_DISABLED, you mask interrupts in the core, and thus effectively
> > completely prevents the whole thing.
> > 
> > > The problems with enabling irqs in hardirq handlers are that you get
> > > unlimited irq nesting, which is bad for your stack, furthermore, somehow
> > > people thing it makes things 'faster' because the irq-off latency goes
> > > down.
> > 
> > No, you don't get unlimited IRQ nesting, at least not on sane archs with
> > a decent PIC that does things like what I described above :-)
> 
> Right, welcome to x86 ;-)

Ok, people put me straight here. Since linux not support interrupt
priorities, wouldn't it simply be a matter of implementing
local_irq_en/dis-able() as masking the lowest level you use to run
normal interrupts on?

That will leave your other interrupt level available as NMI/debug
thingies.

--
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