Re: [PATCH] cfq: wrong sync writes detection

From: Jens Axboe
Date: Mon Dec 11 2006 - 11:07:32 EST


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

-
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/