Re: [Bug #12809] iozone regression with 2.6.29-rc6

Peter Zijlstra
2009-03-05T07:37:48Z

(list restored)

On Thu, 2009-03-05 at 10:13 +0800, Zhang, Yanmin wrote:

> My idea:
> 1) When the main thread traps into kernel and find need to write back pages; it just starts
> write back, but it needn't change timestamp (???or something like that) on writeback; and start
> pdflush;
> 2) Later on pdflush could pick up the file to write back for other pages on the same file;
> 3) The target is to let pdflush to writeback pages and main testing thread continues on its own
> work, so we can benefit from SMP.

No!

This is not about parallelism, this is about making sure there is a
limited number of dirty pages, that means the tasks generating dirty
pages will _have_ to wait. You simply cannot delegate that.

Furthermore, the task throttling explicitly wants to throttle the task
that generates all those dirty pages more than other tasks. So pushing
the throttle out to pdflush will destroy the whole scheme.

The reason we want to make the heavy dirtier throttle sooner is that
other tasks, who only occasionally dirty a page, don't get caught in the
massive throttle latency.