linux-kernel-test/arch/s390/include/asm/hardirq.h
Heiko Carstens 2215011dd9 [S390] irq: set __ARCH_IRQ_EXIT_IRQS_DISABLED
Set __ARCH_IRQ_EXIT_IRQS_DISABLED in order to optimize irq_exit() a
bit, since we call __do_softirq() instead of do_softirq().
This saves several needless checks, pointless interrupt disabling
and an extra branch.
If do_softirq() gets called from process context we still switch to
the async stack.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2012-03-11 11:59:28 -04:00

26 lines
614 B
C

/*
* include/asm-s390/hardirq.h
*
* S390 version
* Copyright (C) 1999,2000 IBM Deutschland Entwicklung GmbH, IBM Corporation
* Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com),
* Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com)
*
* Derived from "include/asm-i386/hardirq.h"
*/
#ifndef __ASM_HARDIRQ_H
#define __ASM_HARDIRQ_H
#include <asm/lowcore.h>
#define local_softirq_pending() (S390_lowcore.softirq_pending)
#define __ARCH_IRQ_STAT
#define __ARCH_HAS_DO_SOFTIRQ
#define __ARCH_IRQ_EXIT_IRQS_DISABLED
#define HARDIRQ_BITS 8
#endif /* __ASM_HARDIRQ_H */