일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- NDK
- buddy_system
- blk-mq
- kafka
- mm_struct
- multiqueue
- commit
- fastpath
- kmalloc
- 카프카
- lruvec
- allocator
- strex
- Network
- vmalloc
- spinlock
- proc
- Linux
- slub
- slowpath
- vm_area_struct
- memory
- BLOCK
- slab
- page
- Apache
- Kernel
- pmap
- Android
- devicedriver
- Today
- Total
목록2020/07 (2)
Art of Pr0gr4m
1. 디버깅을 통해 배우는 리눅스 커널의 구조와 원리 www.yes24.com/Product/Goods/90085976 디버깅을 통해 배우는 리눅스 커널의 구조와 원리 1 신입 리눅스 시스템 개발자부터 5년차 개발자가 실무를 하기 위해 알아야 할 리눅스 커널의 주요 서브시스템!실전 개발에서 신입 사원 옆에 친절한 선배 개발자가 앉아서 리눅스 커널에 대해 꼼 www.yes24.com www.yes24.com/Product/Goods/90087307 디버깅을 통해 배우는 리눅스 커널의 구조와 원리 2 신입 리눅스 시스템 개발자부터 5년차 개발자가 실무를 하기 위해 알아야 할 리눅스 커널의 주요 서브시스템!실전 개발에서 신입 사원 옆에 친절한 선배 개발자가 앉아서 리눅스 커널에 대해 꼼 www.yes24.co..
arm 리눅스 커널의 spin lock 구현부를 보면 다음과 같다. typedef struct { union { u32 slock; struct __raw_tickets { #ifdef __ARMEB__ u16 next; u16 owner; #else u16 owner; u16 next; #endif } tickets; }; } arch_spinlock_t; static inline void arch_spin_lock(arch_spinlock_t *lock) { unsigned long tmp; u32 newval; arch_spinlock_t lockval; prefetchw(&lock->slock); __asm__ __volatile__( "1:ldrex%0, [%3]\n" "add%1, %0, %4..