Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- vmalloc
- vm_area_struct
- fastpath
- strex
- 카프카
- pmap
- mm_struct
- BLOCK
- lruvec
- memory
- proc
- kmalloc
- blk-mq
- Android
- buddy_system
- allocator
- kafka
- Linux
- Apache
- slab
- Kernel
- slowpath
- Network
- NDK
- multiqueue
- slub
- commit
- page
- spinlock
- devicedriver
Archives
- Today
- Total
목록list (1)
Art of Pr0gr4m
[Linux Kernel 5] Linked List
리눅스 커널은 다양한 자료구조들을 일반적으로 사용할 수 있도록 제공한다. 연결 리스트, 큐, RB 트리, B+ 트리 등을 템플릿이나 제너릭 타입이 아닌 무려 포인터를 이용하여 일반화한다. 이번 포스트에서는 어떻게 포인터로 일반적인 자료구조를 구현하는지와 커널에서 제공하는 연결 리스트를 알아본다. 1. 매직 매크로 커널에서는 다양한 마법같은 매크로들을 제공한다. 이들을 통칭하여 매직 매크로라고 부르지는 않는다. 그냥 되게 유용하고 신기한 매크로들을 소개하려는데 마땅한 부제가 생각나지 않아서 매직 매크로라고 칭했다. 그 중 자료 구조들을 구현하는데 있어 중요한 두 매크로를 먼저 알아보도록 한다. #ifdef __compiler_offsetof #define offsetof(TYPE, MEMBER)__comp..
IT/Linux Kernel
2020. 5. 10. 11:53