[Devel] Re: [PATCH] cfq: wrong sync writes detection

Jens Axboe jens.axboe at oracle.com
Mon Dec 11 08:08:17 PST 2006


On Mon, Dec 11 2006, Vasily Tarasov wrote:
> CFQ I/O scheduler does the following actions to
> find out whether the request is sync:
> 
> rw = rq_data_dir(rq); => possible values for rw are 0 or 1
> 
> static inline pid_t cfq_queue_pid(struct task_struct *task, int rw)
> {
>         if (rw == READ || rw == WRITE_SYNC) => second condition is always false
>                 return task->pid;
> 
>         return CFQ_KEY_ASYNC;
> }
> 
> The following patch fixes the bug by adding sync parameter,
> wich is obtained through bio_sync macros.

Good catch! Applied.

-- 
Jens Axboe




More information about the Devel mailing list