
  <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
      <title>Chaos and Order</title>
      <link>https://www.youngju.dev/blog</link>
      <description>천천히 올바르게. AI Researcher &amp; DevOps Engineer Youngju&#39;s blog. GPU/CUDA, LLM, MLOps, Kubernetes AI workloads, and data engineering — plus mindset essays on confidence, routines, health, and sport psychology.</description>
      <language>ko</language>
      <managingEditor>fjvbn2003@gmail.com (Youngju Kim)</managingEditor>
      <webMaster>fjvbn2003@gmail.com (Youngju Kim)</webMaster>
      <lastBuildDate>Wed, 19 Aug 2026 00:00:00 GMT</lastBuildDate>
      <atom:link href="https://www.youngju.dev/tags/kmalloc/feed.xml" rel="self" type="application/rss+xml"/>
      
  <item>
    <guid>https://www.youngju.dev/blog/linux/2026-08-19-kernel-memory-and-locking-rules</guid>
    <title>커널 C는 응용 C가 아니다 — 메모리 할당과 동시성의 규칙</title>
    <link>https://www.youngju.dev/blog/linux/2026-08-19-kernel-memory-and-locking-rules</link>
    <description>문법은 같은 C인데 규칙이 다릅니다. 커널에서는 어떤 함수를 어디서 부를 수 있는지가 문맥에 따라 갈리고, 그 규칙을 어기면 컴파일은 통과하고 대신 시스템이 멈춥니다. 이 글은 그 규칙들을 공식 문서 기준으로 정리합니다. 먼저 스택이 사용자 공간의 수백분의 일이라는 사실에서 출발해, kmalloc과 vmalloc과 kvmalloc이 언제 갈리는지, GFP 플래그가 실제로 무엇을 허용하고 금지하는지를 다룹니다. 핵심은 잠들 수 있는가라는 질문 하나입니다. 원자적 문맥에서 잠들면 무슨 일이 벌어지는지, 어떤 함수들이 잠들 수 있는지, 그리고 copy_from_user가 왜 그 목록에 들어 있는지를 설명합니다. 이어서 스핀락과 뮤텍스를 문맥별로 고르는 표, 인터럽트 문맥에서 필요한 변종들, 그리고 RCU가 어떤 문제를 푸는 물건인지를 실제 커널 코드 한 조각으로 확인합니다.</description>
    <pubDate>Wed, 19 Aug 2026 00:00:00 GMT</pubDate>
    <author>fjvbn2003@gmail.com (Youngju Kim)</author>
    <category>linux</category><category>kernel</category><category>kmalloc</category><category>gfp</category><category>spinlock</category><category>mutex</category><category>rcu</category><category>concurrency</category>
  </item>

    </channel>
  </rss>
