Skip to content

Branch v4.14 for bfq mq

paolo-github edited this page Oct 28, 2018 · 3 revisions

The branch v4.14-for-bfq-mq contains a vanilla Linux 4.14 with a special sequence of commits on top of it. This sequence makes this branch ready to hold the I/O schedulers available in the branch bfq-mq (at least until the branch bfq-mq is based against 4.18).

Here is a description of this extra sequence of commits, followed by simple instructions to add the bfq-sq and bfq-mq I/O schedulers.

EXTRA COMMITS

The extra commits are:

  1. A selection of commits, related to the mainline bfq I/O scheduler, picked from kernels versions between 4.15 and 4.18. Some of these commits modify bfq itself. However, the goal is not to modify bfq, but just to apply the modifications, in those commits, that are needed to make bfq-mq commits applicable without issues. The resulting bfq I/O scheduler available in this branch is not intended to be used. If you want to use it, the best option is that you finish up adding all the bfq commits available in the kernels between 4.15 and 4.18.
  2. A special commit that introduces a series of extra constants in include/linux/blkdev.h. These constants are not used in 4.14. The only goal of this commit is to create a context that makes bfq-mq commits applicable without conflicts.

INSTRUCTIONS TO ADD BFQ-MQ COMMITS TO THIS TREE

git cherry-pick <first_commit-hash>~..<last_commit-hash> -X theirs

where:

  • <first_commit-hash> is the hash, in the branch bfq-mq, of the commit: "Add BFQ-v8r12"
  • <last_commit-hash> is the hash, in the branch bfq-mq, of the last bfq-mq that you want to pick

For example, with bfq-mq currently based against 4.18, the commit "Add BFQ-v8r12" has the hash: cd1937d53341

So, the command line to have, e.g., all commits, would be

git cherry-pick 40f7c2275556~..<hash_of_head_commit_in_bfq-mq> -X theirs

In particular, by using the option "-X theirs" you'll get a branch with no bfq suffix added to the EXTRAVERSION parameter in the root Makefile.

Clone this wiki locally