Re: [PATCH 18/45] writeback: introduce wait queue forbalance_dirty_pages()

From: Peter Zijlstra
Date: Thu Oct 08 2009 - 04:03:23 EST


On Thu, 2009-10-08 at 10:01 +0900, KAMEZAWA Hiroyuki wrote:

> May I ask a question ? (maybe not directly related to this patch itself, sorry)
>
> Recent works as "writeback: switch to per-bdi threads for flushing data"
> removed congestion_wait() from balance_dirty_pages() and added
> schedule_timeout_interruptible().
>
> And this one replaces it with wake_up+wait_queue.
>
> IIUC, "iowait" cpustat data was calculated by runqueue->nr_iowait as
> == kernel/schec.c
> void account_idle_time(cputime_t cputime)
> {
> struct cpu_usage_stat *cpustat = &kstat_this_cpu.cpustat;
> cputime64_t cputime64 = cputime_to_cputime64(cputime);
> struct rq *rq = this_rq();
>
> if (atomic_read(&rq->nr_iowait) > 0)
> cpustat->iowait = cputime64_add(cpustat->iowait, cputime64);
> else
> cpustat->idle = cputime64_add(cpustat->idle, cputime64);
> }
> ==
> Then, for showing "cpu is in iowait", runqueue->nr_iowait should be modified
> at some places. In old kernel, congestion_wait() at el did that by calling
> io_schedule_timeout().
>
> How this runqueue->nr_iowait is handled now ?

Ah, I think you've got a good point, we need a io_schedule() there.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/