Guillermo Austin Kim
Posts
998 posts[리눅스커널][ftrace] 커널 타이머: jiffies와 Soft IRQ 타이머 서비스 처리 횟수 확인
Overview ftrace는 리눅스 커널의 마법과 같은 도구입니다. 그래픽 효과가 없는 텍스트 포멧의 리눅스의 단점을 대체하기 충분하다고 봅니다. 이번에는 동적 타이머와 Soft IRQ 타이머 서비스를 동시에 ftrace 로그를 통해 분석해 보겠습니다. 이 디버깅은 라즈베리 파이에서 수행했다는 사실을 참고합시다. 결론 먼저, 요점부터 말하겠습니다. 이 ftrace 메시지를 분석한 후 알게 될 내용은 다음과 같습니다. ■ 1초 동안에 지피스는 100번 업데이트된다.(라즈베리 파이 기준) ■ 1초에 Soft IRQ 타이머 서비스를 요청하는 횟수는 13번(100번 미만)이다. ■ 1초에 Soft IRQ 동적 타이머를 실행하는 횟수는 13번이다. 먼저 커널
[취준생] 임베디드 개발의 진실과 오해 - (2) 군대 문화
* 임베디드 개발자로 취업을 하고 싶어요. 그런데 임베디드 개발 업체에서는 군대 문화가 있나요? 이런 의문을 품고 있는 취준생분들이 있는데요. 이번 포스팅에서는 임베디드 개발 업체의 군대 문화에 대해 조금 이야기를 해보려고 해요. 결론부터 이야기하면 ‘임베디드 개발 업체는 군대 문화가 좀 심한 편이다’라고 말씀 드리고 싶어요. 자, 그럼 여기서 말하는 군대 문화란 무엇일까요? 군대 문화에 대해서 진지하게 이야기하자면 글이 길어 질 것 같아 군대 문화 중 가장 싫어할 만 병패(?)를 몇 가지 적어볼까요? * 회식은 무조건 참석해야 하고 3차까지 회식에 가야 함 * 일찍 퇴근하면 눈치를 주고 늦게 퇴근하도록 유도함 * 담배를 피러 가거나 커피를 한 잔 마실 시간을 주지 않음 * 무
[리눅스커널] 크래시 유틸리티(Crash-Utility): 슬랩 페이지의 갯수를 확인하는 방법
크래시 유틸리티 프로그램을 실행할 때 페이지 디스크립터가 위치한 vmemmap의 범위는'ffffffbc00000000 - ffffffbdffffffff'와 같습니다. crash64: kernel image: ffffff96ff280000 - ffffff9702265000crash64: vmemmap: ffffffbc00000000 - ffffffbdffffffff kmalloc 슬랩 캐시를 확인해보겠습니다. crash64> p kmalloc_cacheskmalloc_caches = $1 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffc6008fdc80, 0xffffffc6008fdb00, 0xffffffc6008fd980, 0xffffffc6008fd8
[리눅스커널] ftrace: 콜 스택을 메시지로 출력하기(CALLER_ADDR0~CALLER_ADDR3)
Overview ftrace로 다양한 디버깅 정보를 출력할 수 있다.물론 function, function_graph 트레이서를 활용해 화려한 디버깅 정보를 볼 수 있는데, nop 트레이서로 다음과 같은 정보를 보면 유용할 것이다. rcu_preempt-9 [000] ...1 5429.091523: sched_preemption_execute: delta=8890468(ns) Callers: (schedule
[취준생] 임베디드 개발의 진실과 오해 - (1) 개발 환경
제가 블로그에 리눅스 커널의 분석 내용(코드 분석 + 디버깅 정보)를 올리면 포스팅의 가장 아랫 부분에 '질문이 있으면 댓글을 남겨 달라'는 커멘트를 남기곤 합니다. 글을 쓰면서도 내가 쉽게 글을 작성하고 있는지 의문이 들기도 하고 글의 내용이 100% 맞는 지 의문이 생기기도 하거든요. 그런데 예상 밖에 취준생이나 신입 개발자들이 댓글이나 이메일로 저에게 진로에 대한 고민을 털어 놓는 경우가 많았습니다. 저도 지금 진로 고민이 많은데 다른 분에게 진로 상담을 해줘야 하다니. 참 웃기죠. 댓글이나 이메일을 읽고 나서 많은 취준생 분들이 임베디드 개발에 대해 많은 궁금해 하시는 것 같았습니다. 그래서 저의 개발 경험과 다른 개발자의 교류를 통해 얻은 내용을 바탕으로 취준생 분들을 위해 임베디드 개발에 대한



