[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANejiEV75k9SrkQFsb5H3n_307j7yA941WMgymioPOT-vxhWcQ@mail.gmail.com>
Date: Tue, 5 Jul 2011 08:38:21 +0800
From: Shaohua Li <shli@...nel.org>
To: Konstantin Khlebnikov <khlebnikov@...nvz.org>
Cc: Jens Axboe <axboe@...nel.dk>, linux-kernel@...r.kernel.org,
Vivek Goyal <vgoyal@...hat.com>
Subject: Re: [PATCH RFC 1/2] cfq: request-deadline policy
2011/7/4 Konstantin Khlebnikov <khlebnikov@...nvz.org>:
> CFQ is designed for sharing disk bandwidth proportionally between queues and groups
> and for reordering requests to reduce disks seek time. Currently it cannot
> gurantee or estimate latency for individual requests, even if latencies are low
> for almost all requests, some of them can stuck inside scheduler for a long time.
> The fair policy is good as long as someone luckless begins to die due to a timeout.
>
> This patch implements fifo requests dispatching with deadline policy: now cfq
> obliged to dispatch request if it stuck in the queue for more than deadline.
>
> This way now cfq can try to ensure the expected latency of requests execution.
> It is like a safety valve, it should not work all time, but it should keep latency
> in sane range when the scheduler is unable to effectively handle flow of requests,
> especially in cases when the "noop" or "deadline" shows better performance.
>
> deadline can be tuned via /sys/block/<device>/queue/iosched/deadline_{sync,async}
> it by default 2000ms for sync and 4000ms for async requests, use 0 to disable it.
I'm afraid this takes too far away. It completed breaks fairness of
CFQ. The sync/async and priority of queues lose meaning.
Even deadline is meaningful of some kind, maybe we should add a policy
in preempt. If a queue has very old requests, don't preempt such
queue. But we should be careful to tune how long slice the queue can
take so fairness isn't broken.
Thanks,
Shaohua
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists