/proc/stat iowait?, io_schedule()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



So, having kernel code which does:

set_current_state(TASK_INTERRUPTIBLE);
schedule();

causes blocking, as expected, and /proc/stat shows increasing idle
task time and non increasing io wait time. Fine.

Changing schedule() to io_schedule(), time now seems to be split
between idle task and io_wait time.

Question, why does the system impute any running time to io_wait time?
 The task that got blocked is presumably not doing anything and just
sitting there inactive until it gets woken up, so I would expect just
idle time to be increasing. I know its trying to account for io_wait
time, but how does it know how many jiffies to be adding to io_wait
time? Googling on io_wait and/or io_schedule are not turning up much.
So, I'm obviously not understanding things here. Any input?

--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx
Please read the FAQ at http://kernelnewbies.org/FAQ


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux