Messages in this thread |  | | Date | Tue, 06 Nov 2012 12:39:13 +0100 | | From | Jens Axboe <> | | Subject | Re: block CFQ: avoid moving request to different queue |
| |
On 2012-11-06 12:34, Shaohua Li wrote: > request is queued in cfqq->fifo list. Looks it's possible we are > moving a request from one cfqq to another in request merge case. In > such case, adjusting the fifo list order doesn't make sense and is > impossible if we don't iterate the whole fifo list. > > My test does hit one case the two cfqq are different, but didn't cause > kernel crash, maybe it's because fifo list isn't used frequently. > Anyway, from the code logic, this is buggy.
Good find!! Usually we never merge between cfqq's as our lookup basis is the cfqq. And yes, the fifo generally isn't used a lot, it's only a fallback measure to prevent inter-cfqq unfairness.
Applied to for-3.8/core.
And lets re-enable the recursive merging, please do send a patch for that too.
-- Jens Axboe
|  |