cregit-Linux how code gets into the kernel

Release 4.9 lib/dump_stack.c

Directory: lib
/*
 * 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

PersonTokensPropCommitsCommitProp
tejun heotejun heo945.00%133.33%
andrew mortonandrew morton945.00%133.33%
alex thorltonalex thorlton210.00%133.33%
Total20100.00%3100.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

PersonTokensPropCommitsCommitProp
alex thorltonalex thorlton9081.82%125.00%
eric dumazeteric dumazet1816.36%125.00%
andi kleenandi kleen21.82%250.00%
Total110100.00%4100.00%

#else
asmlinkage __visible void dump_stack(void) { __dump_stack(); }

Contributors

PersonTokensPropCommitsCommitProp
alex thorltonalex thorlton1083.33%133.33%
andi kleenandi kleen216.67%266.67%
Total12100.00%3100.00%

#endif EXPORT_SYMBOL(dump_stack);

Overall Contributors

PersonTokensPropCommitsCommitProp
alex thorltonalex thorlton12669.61%112.50%
eric dumazeteric dumazet189.94%112.50%
andrew mortonandrew morton158.29%112.50%
tejun heotejun heo126.63%112.50%
arnaldo carvalho de meloarnaldo carvalho de melo52.76%112.50%
andi kleenandi kleen42.21%225.00%
paul gortmakerpaul gortmaker10.55%112.50%
Total181100.00%8100.00%
Directory: lib