Messages in this thread | | | Subject | Re: CFQ: async queue blocks the whole system | From | Shaohua Li <> | Date | Mon, 13 Jun 2011 09:03:29 +0800 |
| |
On Fri, 2011-06-10 at 17:20 +0800, Vivek Goyal wrote: > On Fri, Jun 10, 2011 at 11:02:11AM +0800, Tao Ma wrote: > > [..] > > > I don't think we can give a deadline for async request, because we > > > still want to give sync high priority. We can give async some slices, > > > so for a workload of small number of async requests and large number > > > sync requests, we don't starve async too much. But for a workload with > > > large number of sync/async requests, async will be starved for sure > > > and we can't solve this in cfq. > > OK, so if you guys thinks a 500 seconds wait is good for an async write > > to complete, fine, then we have to switch to deadline. > > I don't think that starving WRITES completely is a good idea. Especially > given the fact that you were not able to dispatch WRITES for 500 seconds. > This needs fixing. > > Its not about giving hard deadline to WRITES, but making sure we don't > starve them completely and they also make some progress. Sure, I have no objection to avoid write starvation for a light write workload. We definitely should do something for such workload. Your patch is a good start. But for a heavy write workload (for example, Ma's test), CFQ never can completely avoid write starvation. In such workload, write queue has only slow progress to handle requests.
Thanks, Shaohua
| |