custom-allocators
Custom allocator skill for memory allocation strategies. Use when implementing…
Advanced kernel debugging skill for ftrace, trace-cmd, perf, kprobes, kgdb, and crash analysis. Use when tracing kernel functions, profiling syscalls in kernel, dynamic instrumentation, or analyzing vmcore. Activates on queries about ftrace, trace-cmd, kprobe, kgdb, kernel crash
$ npx -y skills add mohitmishra786/low-level-dev-skills --skill kernel-debugging-advanced --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/kernel-debugging-advancedContext preview
The summary Claude sees to decide when to auto-load this skill.
Advanced kernel debugging skill for ftrace, trace-cmd, perf, kprobes, kgdb, and crash analysis. Use when tracing kernel functions, profiling syscalls in kernel, dynamic instrumentation, or analyzing vmcore. Activates on queries about ftrace, trace-cmd, kprobe, kgdb, kernel crash
name: kernel-debugging-advanced description: Advanced kernel debugging skill for ftrace, trace-cmd, perf, kprobes, kgdb, and crash analysis. Use when tracing kernel functions, profiling syscalls in kernel, dynamic instrumentation, or analyzing vmcore. Activates on queries about ftrace, trace-cmd, kprobe, kgdb, kernel crash dump, or dyndbg.
Extend `skills/kernel/kernel-debugging` with production-grade tracing: `ftrace`, `trace-cmd`, kernel `perf`, `kprobes`/`kretprobes`, `kgdb`, crash dump analysis, and `printk` discipline. **Not merged** with `kernel-debugging` — that skill covers baseline kgdb/dyndbg; this one focuses on trace-cmd, function_graph, and live/post-mortem production workflows.
# Enable function graph tracer echo function_graph > /sys/kernel/debug/tracing/current_tracer echo my_driver_probe > /sys/kernel/debug/tracing/set_graph_function echo 1 > /sys/kernel/debug/tracing/tracing_on # reproduce issue cat /sys/kernel/debug/tracing/trace echo 0 > /sys/kernel/debug/tracing/tracing_on
Requires `CONFIG_FUNCTION_GRAPH_TRACER` and debugfs mounted.
trace-cmd record -p function_graph -F my_probe trace-cmd report trace-cmd stat
Portable capture for sharing with others.
perf record -a -g -- sleep 10 perf report --stdio perf probe --add my_driver:probe
See `skills/profilers/linux-perf` for userspace overlap.
#include <linux/kprobes.h>
static struct kprobe kp = {
.symbol_name = "do_sys_open",
.pre_handler = handler,
};
register_kprobe(&kp);Use sparingly in production; prefer static tracepoints when available.
echo 'module mydriver +p' > /sys/kernel/debug/dynamic_debug/control echo 'file drivers/foo/*.c +p' > /sys/kernel/debug/dynamic_debug/control
pr_debug("state=%d\n", s); /* compile-time optional */
printk_ratelimited(KERN_WARNING "hw fault\n");# kernel cmdline: kgdboc=ttyS0,115200 kgdbwait echo g > /proc/sysrq-trigger # break into debugger (when configured)
# after kdump capture crash /usr/lib/debug/vmlinux vmcore crash> bt crash> dev -s
/kernel-debugging-advanced Trace my_driver_ioctl latency with ftrace function_graph
| Symptom | Cause | Fix | |---------|-------|-----| | Empty trace | Tracer not enabled | `tracing_on`; check `current_tracer` | | ftrace overhead | Graph all functions | Filter with `set_graph_function` | | kprobe fail | Inlined symbol | Try nearby symbol or static key | | kgdb no connect | Wrong `kgdboc` tty | Match serial/USB gadget | | crash no symbols | Missing debuginfo | Install `linux-image-dbg` / vmlinux |
A curated suite of AI agent skills for systems and low-level programming — C/C++, Rust, Zig, GPU, bare-metal firmware, Linux kernel/driver development, computer architecture, compiler internals, HPC, and more.
Repo: mohitmishra786/low-level-dev-skills
Custom allocator skill for memory allocation strategies. Use when implementing…
NUMA programming skill for multi-socket memory locality. Use when detecting NUMA topology,…
AF_XDP skill for high-performance XDP sockets. Use when creating AF_XDP sockets, configuring…
DPDK skill for userspace packet I/O. Use when initializing EAL, configuring PMD drivers,…
io_uring skill for Linux async I/O. Use when building high-performance servers with liburing,…
Bare-metal ADC and DAC skill. Use when configuring analog sampling, DMA-driven ADC,…