阅读背景:

linux内核宏的阅读方法

来源:互联网 

预编译将内核代码中的宏替换掉,再把得到的c代码对齐阅读
下面是预编译后的一个例子:

extern void task_cputime_adjusted(struct task_struct *p, cputime_t *ut, cputime_t *st); extern void thread_group_cputime_adjusted(struct task_struct *p, cputime_t *ut, cputime_t *st); # 2318 "include/linux/sched.h" static inline gfp_t memalloc_noio_flags(gfp_t flags) { if (unlikely(get_current()->flags & 0x00080000)) flags &= ~((( gfp_t)0x40u) | (( gfp_t)0x80u)); return flags; } static inline unsigned int memalloc_noio_save(void) { unsigned int flags = get_current()->flags & 0x00080000; get_current()->flags |= 0x00080000; return flags; } static inline void memalloc_noio_restore(unsigned int flags) { get_current()->flags = (get_current()->flags & ~0x00080000) | flags; } extern v



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: