Release 4.7 lib/dump_stack.c
/*
* Provide a default dump_stack() function for architectures
* which don't implement their own.
*/
#include <linux/kernel.h>
#include <linux/export.h>
#include <linux/sched.h>
#include <linux/smp.h>
#include <linux/atomic.h>
static void __dump_stack(void)
{
dump_stack_print_info(KERN_DEFAULT);
show_stack(NULL, NULL);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
tejun heo | tejun heo | 9 | 45.00% | 1 | 33.33% |
andrew morton | andrew morton | 9 | 45.00% | 1 | 33.33% |
alex thorlton | alex thorlton | 2 | 10.00% | 1 | 33.33% |
| Total | 20 | 100.00% | 3 | 100.00% |
/**
* dump_stack - dump the current task information and its stack trace
*
* Architectures can override this implementation by implementing its own.
*/
#ifdef CONFIG_SMP
static atomic_t dump_lock = ATOMIC_INIT(-1);
asmlinkage __visible void dump_stack(void)
{
unsigned long flags;
int was_locked;
int old;
int cpu;
/*
* Permit this cpu to perform nested stack dumps while serialising
* against other CPUs
*/
retry:
local_irq_save(flags);
cpu = smp_processor_id();
old = atomic_cmpxchg(&dump_lock, -1, cpu);
if (old == -1) {
was_locked = 0;
} else if (old == cpu) {
was_locked = 1;
} else {
local_irq_restore(flags);
cpu_relax();
goto retry;
}
__dump_stack();
if (!was_locked)
atomic_set(&dump_lock, -1);
local_irq_restore(flags);
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
alex thorlton | alex thorlton | 90 | 81.82% | 1 | 25.00% |
eric dumazet | eric dumazet | 18 | 16.36% | 1 | 25.00% |
andi kleen | andi kleen | 2 | 1.82% | 2 | 50.00% |
| Total | 110 | 100.00% | 4 | 100.00% |
#else
asmlinkage __visible void dump_stack(void)
{
__dump_stack();
}
Contributors
| Person | Tokens | Prop | Commits | CommitProp |
alex thorlton | alex thorlton | 10 | 83.33% | 1 | 33.33% |
andi kleen | andi kleen | 2 | 16.67% | 2 | 66.67% |
| Total | 12 | 100.00% | 3 | 100.00% |
#endif
EXPORT_SYMBOL(dump_stack);
Overall Contributors
| Person | Tokens | Prop | Commits | CommitProp |
alex thorlton | alex thorlton | 126 | 69.61% | 1 | 12.50% |
eric dumazet | eric dumazet | 18 | 9.94% | 1 | 12.50% |
andrew morton | andrew morton | 15 | 8.29% | 1 | 12.50% |
tejun heo | tejun heo | 12 | 6.63% | 1 | 12.50% |
arnaldo carvalho de melo | arnaldo carvalho de melo | 5 | 2.76% | 1 | 12.50% |
andi kleen | andi kleen | 4 | 2.21% | 2 | 25.00% |
paul gortmaker | paul gortmaker | 1 | 0.55% | 1 | 12.50% |
| Total | 181 | 100.00% | 8 | 100.00% |
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.