• Christoph Hellwig's avatar
    [PATCH] move irq_enter and irq_exit to common code · 67c69b53
    Christoph Hellwig authored
    This code is the same for all architectures with the following invariants:
    
    - arm gurantees irqs are disabled when calling irq_exit so it can call
      __do_softirq directly instead of do_softirq
    
    - arm26 is totally broken for about half a year, I didn't care for it
    
    - some architectures use softirq_pending(smp_processor_id()) instead of
      local_softirq_pending, but they always evaluate to the same
    
    This patch moves the out of line irq_exit implementation from
    kernel/irq/handle.c which depends on CONFIG_GENERIC_HARDIRQS to
    kernel/softirq.c which is always compiled, tweaks it for the arm special
    case and moves the irq_enter/irq_exit/nmi_enter/nmi_exit bits from
    asm-*/hardirq.h to linux/hardirq.h
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    67c69b53
handle.c 4.71 KB