mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 15:11:16 +00:00
[PATCH] lockdep: irqtrace subsystem, core
Accurate hard-IRQ-flags and softirq-flags state tracing. This allows us to attach extra functionality to IRQ flags on/off events (such as trace-on/off). Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Arjan van de Ven <arjan@linux.intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
5bdc9b447c
commit
de30a2b355
10 changed files with 313 additions and 30 deletions
|
@ -10,6 +10,7 @@
|
|||
#include <linux/irqreturn.h>
|
||||
#include <linux/hardirq.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/irqflags.h>
|
||||
#include <asm/atomic.h>
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/system.h>
|
||||
|
@ -199,13 +200,11 @@ static inline void __deprecated save_and_cli(unsigned long *x)
|
|||
#define save_and_cli(x) save_and_cli(&x)
|
||||
#endif /* CONFIG_SMP */
|
||||
|
||||
/* SoftIRQ primitives. */
|
||||
#define local_bh_disable() \
|
||||
do { add_preempt_count(SOFTIRQ_OFFSET); barrier(); } while (0)
|
||||
#define __local_bh_enable() \
|
||||
do { barrier(); sub_preempt_count(SOFTIRQ_OFFSET); } while (0)
|
||||
|
||||
extern void local_bh_disable(void);
|
||||
extern void __local_bh_enable(void);
|
||||
extern void _local_bh_enable(void);
|
||||
extern void local_bh_enable(void);
|
||||
extern void local_bh_enable_ip(unsigned long ip);
|
||||
|
||||
/* PLEASE, avoid to allocate new softirqs, if you need not _really_ high
|
||||
frequency threaded job scheduling. For almost all the purposes
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue