IO没有完成前,PG_Locked一直置位,调用进入io_schedule,进程主动让出CPU,状态切入TASK_KILLABLE(同时也是一个TASK_UNINTERRUPTIBLE)。io_schedule会设置current->io_wait = 1,io等待期间,cpu idle期间检测到io_wait就会累计iowait的时间
博客阅读笔记,原文链接
Linux read的核心函数generic_file_buffered_read_linuxread函数返回ffffffff-优快云博客