From: Paul Mundt on
On Fri, Apr 09, 2010 at 04:01:35PM -0700, David Miller wrote:
>
> Provide local_irq_{save,restore}_nmi() which will allow us to help
> architectures that implement NMIs using IRQ priorities like SPARC64
> does.
>
> Sparc uses IRQ prio 15 for NMIs and implements local_irq_disable() as
> disable <= 14. However if you do that while inside an NMI you re-
> enable the NMI priority again, causing all kinds of fun.
>
> A more solid implementation would first check the disable level and
> never lower it, however that is more costly and would slow down the
> rest of the kernel for no particular reason.
>
> Therefore introduce local_irq_save_nmi() which can implement this
> slower but more solid scheme and dis-allow local_irq_save() from NMI
> context.
>
> Suggested-by: David Miller <davem(a)davemloft.net>
> Signed-off-by: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
> Signed-off-by: David S. Miller <davem(a)davemloft.net>

Are there any updates for this patch series? I would like to make use of
this on SH as well, but it seems these haven't hit upstream yet.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Peter Zijlstra on
On Fri, 2010-06-04 at 14:03 +0900, Paul Mundt wrote:
> On Fri, Apr 09, 2010 at 04:01:35PM -0700, David Miller wrote:
> >
> > Provide local_irq_{save,restore}_nmi() which will allow us to help
> > architectures that implement NMIs using IRQ priorities like SPARC64
> > does.
> >
> > Sparc uses IRQ prio 15 for NMIs and implements local_irq_disable() as
> > disable <= 14. However if you do that while inside an NMI you re-
> > enable the NMI priority again, causing all kinds of fun.
> >
> > A more solid implementation would first check the disable level and
> > never lower it, however that is more costly and would slow down the
> > rest of the kernel for no particular reason.
> >
> > Therefore introduce local_irq_save_nmi() which can implement this
> > slower but more solid scheme and dis-allow local_irq_save() from NMI
> > context.
> >
> > Suggested-by: David Miller <davem(a)davemloft.net>
> > Signed-off-by: Peter Zijlstra <a.p.zijlstra(a)chello.nl>
> > Signed-off-by: David S. Miller <davem(a)davemloft.net>
>
> Are there any updates for this patch series? I would like to make use of
> this on SH as well, but it seems these haven't hit upstream yet.

Dave found a better solution, see:

b4f4372f96e0573d752d9e45beda02fabf716cc8
0c25e9e6cbe7b233bb91d14d0e2c258bf8e6ec83
c011f80ba0912486fe51dd2b3f71d9b33a151188


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