[PATCH v2 0/3]CFQ: add think time check for service tree and group

From: Shaohua Li
Date: Mon Jul 11 2011 - 21:38:38 EST


Hi,
Currently when the last queue of a service tree/group is empty, CFQ
doesn't expire the queue. This is to allow requests from the tree/group
come soon, so tree/group doesn't miss its share. But if the think time
is big, the assumption isn't correct. idling the queue is just wasting
bandwidth.

Originally I was hoping this can resolve Vivek's fsync issue, but it
doesn't. The fsync issue is caused by queue idling. But since think time
check only helps for think time above default queue idle time (8ms),
think time check doesn't help for the fsync issue.

On the other hand, think time check is still helpful for queues with
think time. I had test case in follow patches show throughput
improvement without sacrifice tree/group shares.

v1->v2:
1. addressed some good comments from Vivek
2. add more test to make sure the patches don't change behavior of
queues without think time.

Thanks,
Shaohua

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