预编译将内核代码中的宏替换掉,再把得到的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;
}