[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140530232804.GA5057@htj.dyndns.org>
Date: Fri, 30 May 2014 19:28:04 -0400
From: Tejun Heo <tj@...nel.org>
To: Paolo Valente <paolo.valente@...more.it>
Cc: Jens Axboe <axboe@...nel.dk>, Li Zefan <lizefan@...wei.com>,
Fabio Checconi <fchecconi@...il.com>,
Arianna Avanzini <avanzini.arianna@...il.com>,
linux-kernel@...r.kernel.org,
containers@...ts.linux-foundation.org, cgroups@...r.kernel.org
Subject: Re: [PATCH RFC - TAKE TWO - 00/12] New version of the BFQ I/O
Scheduler
Hello,
On Sat, May 31, 2014 at 12:23:01AM +0200, Paolo Valente wrote:
> I do agree that bfq has essentially the same purpose as cfq. I am
> not sure that it is what you are proposing, but, in my opinion,
> since both the engine and all the new heuristics of bfq differ from
> those of cfq, a replacement would be most certainly a much easier
> solution than any other transformation of cfq into bfq (needless to
> say, leaving the same name for the scheduler would not be a problem
> for me). Of course, before that we are willing to improve what has
> to be improved in bfq.
Well, it's all about how to actually route the changes and in general
whenever avoidable we try to avoid whole-sale code replacement
especially when most of the structural code is similar like in this
case. Gradually evolving cfq to bfq is likely to take more work but
I'm very positive that it'd definitely be a lot easier to merge the
changes that way and people involved, including the developers and
reviewers, would acquire a lot clearer picture of what's going on in
the process. For example, AFAICS, most of the heuristics added by the
later patches are refined versions of what's already in cfq and at
least some are applicable regardless of the underlying scheduling
algorithm. It all depends on the details but, for example, steps like
the following would be it a lot easier to get merged.
* Identify the improvements which can be applied to cfq as-is or with
some adaptation and apply those improvements to cfq.
* Make prepatory changes to make transition to new base scheduling
algorithm easier.
* Strip out or disable cfq features which get in the way of
conversion.
* Switch the base algorithm to the timestamp based one.
* Rebuild stripped down features and apply new heuristics,
optimizations and follow-up changes.
I understand that this might be non-significant amount of work but at
the same time it's not something which is inherently difficult. It's
mostly logistical after all and I'd be happy to help where I can.
Thanks.
--
tejun
--
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