Rev 3022 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3022 | Rev 4055 | ||
---|---|---|---|
Line 34... | Line 34... | ||
34 | 34 | ||
35 | #ifndef KERN_SPINLOCK_H_ |
35 | #ifndef KERN_SPINLOCK_H_ |
36 | #define KERN_SPINLOCK_H_ |
36 | #define KERN_SPINLOCK_H_ |
37 | 37 | ||
38 | #include <arch/types.h> |
38 | #include <arch/types.h> |
- | 39 | #include <arch/barrier.h> |
|
39 | #include <preemption.h> |
40 | #include <preemption.h> |
40 | #include <atomic.h> |
41 | #include <atomic.h> |
41 | #include <debug.h> |
42 | #include <debug.h> |
42 | 43 | ||
43 | #ifdef CONFIG_SMP |
44 | #ifdef CONFIG_SMP |
Line 108... | Line 109... | ||
108 | #define DEADLOCK_THRESHOLD 100000000 |
109 | #define DEADLOCK_THRESHOLD 100000000 |
109 | #define DEADLOCK_PROBE_INIT(pname) count_t pname = 0 |
110 | #define DEADLOCK_PROBE_INIT(pname) count_t pname = 0 |
110 | #define DEADLOCK_PROBE(pname, value) \ |
111 | #define DEADLOCK_PROBE(pname, value) \ |
111 | if ((pname)++ > (value)) { \ |
112 | if ((pname)++ > (value)) { \ |
112 | (pname) = 0; \ |
113 | (pname) = 0; \ |
113 | printf("Deadlock probe %s: exceeded threshold %d\n", \ |
114 | printf("Deadlock probe %s: exceeded threshold %u\n", \ |
114 | "cpu%d: function=%s, line=%d\n", \ |
115 | "cpu%u: function=%s, line=%u\n", \ |
115 | #pname, (value), CPU->id, __func__, __LINE__); \ |
116 | #pname, (value), CPU->id, __func__, __LINE__); \ |
116 | } |
117 | } |
117 | #else |
118 | #else |
118 | #define DEADLOCK_PROBE_INIT(pname) |
119 | #define DEADLOCK_PROBE_INIT(pname) |
119 | #define DEADLOCK_PROBE(pname, value) |
120 | #define DEADLOCK_PROBE(pname, value) |