LINUX
Posts
477 posts[Linux][Kernel] softirq - 호출되는 모듈 (h->action)
softirq_vec 변수를 확인하면, __do_softirq() 에서 h->action로 호출되는 함수의 정체를 확인할 수 있습니다.crash> p softirq_vecsoftirq_vec = $2 = {{ action = 0xc01289ac }, { action = 0xc0180334 }, { action = 0xc0d55d7c }, { action = 0xc0d58238 }, { action = 0xc038123c }, { action =
[Linux][Kernel] softirq overview (1)
bottom half의 핵심 softirq에 대해서 잠깐 짚어볼께요.우선 먼저 "softirq는 어느 함수에서 실행되나?" 알아볼께요. 사실 코드 리뷰를 열심히 해도 좋은데요. 전 대가리가 나뻐서 소스 코드와 로그를 함께 봐야 머리에 잘 들어오더라구요. 자, softirq는 어느 함수에서 실행되는지 확인하기 위해 아래 코드에 ftrace log를 추가해 보았어요.흠, 어떤 결과를 확인할 수 있을까요?diff --git a/kernel/softirq.c b/kernel/softirq.cindex 0c998ef..5593bf6 100644--- a/kernel/softirq.c+++ b/kernel/softirq.c@@ -389,6 +389,7 @@ void irq_exit(void) WARN_
[Linux][Kernel][ARM] char buf[32]; vs char buf[32]={0};
얼마 전에 아래 패치를 봤어요. 이게 뭐지? 잘 이해가 안 가더라구요.배열을 초기화하는 것 같기도 한데.diff --git a/drivers/usb/dwc3/debugfs.c b/drivers/usb/dwc3/debugfs.c index f040026..11f56a8 100644 --- a/drivers/usb/dwc3/debugfs.c +++ b/drivers/usb/dwc3/debugfs.c @@ -402,7 +402,7 @@ static ssize_t dwc3_mode_write(struct file *file, struct dwc3 *dwc = s->private; unsigned long flags; u32
[Linux][Kernel] 전처리 Preprocess File 추출 방법
한 4년 전 인가요? 아래 코드를 열심히 분석 했었어요. 그런데 나중에 알고 보니 CONFIG_KMEMCHECK, CONFIG_LOCKDEP 컨피그 내 코드가 컴파일 되지 않는 죽은 코드라는 걸 알게 되었어요. 그 때 참 머리를 쥐어 뜯으며 자책했죠. static inline void slab_free_hook(struct kmem_cache *s, void *x){ kmemleak_free_recursive(x, s->flags); /* * Trouble is that we may no longer disable interrupts in the fast path * So in order to make the debug calls that expect irqs to be * disabled w


![[웹툰단행본] 『통제구역관리부』 1권 후기 : 이상한 변칙과 기이한 일들이 일어나는 공간에 대하여](https://img.zoomtrend.com/2026/06/09/1780996474-SE-5eda86fa-0d63-4afd-b8dd-b801879fed52.jpg)
