Package Base Details: linux-bfq-mq

Git Clone URL: https://aur.archlinux.org/linux-bfq-mq.git (read-only)
Submitter: monotykamary
Maintainer: monotykamary (sir_lucjan)
Last Packager: sir_lucjan
Votes: 6
Popularity: 0.049775
First Submitted: 2017-05-11 19:00
Last Updated: 2018-12-10 23:09

Pinned Comments

monotykamary commented on 2017-05-14 16:02

IO scheduler will default to "mq-deadline" given that DEFAULT_MQ_IOSCHED is currently not implemented in mainline. For now, you can use `sudo tee /sys/block/sda/queue/scheduler <<< bfq-mq` to enable "bfq-mq".

You can also add this to your udev rules:
```
# Non-rotational disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq-mq"
# Rotational disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq-mq"
```

`sudo udevadm control --reload && sudo udevadm trigger`

Configs are left at Arch default and v4.12 defaults except for the following definitions:

CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_DEFAULT_BFQ=y
CONFIG_DEFAULT_IOSCHED="bfq-sq"
CONFIG_MQ_IOSCHED_BFQ=y
CONFIG_MQ_BFQ_GROUP_IOSCHED=y

`config.i686` was made in deselecting x64 in `make xconfig`, but has not been tested.

The patch (4.12-bfq-mq-*.patch) is formatted from `git format-patch 87b2c3fc6317` straight from a local clone of https://github.com/Algodev-github/bfq-mq. Makefile commits are now kept in newer patches for use of sir_lucjan's Makefile stream edits.

Latest Comments

« First ‹ Previous 1 2 3

monotykamary commented on 2017-07-29 20:32

@sir_lucjan

Many thanks for the update! The tentative patch has been rebased to https://github.com/Algodev-github/bfq-mq/commit/2adb984011bd64830c5d79eecf9573bd5f8aa83d, and it's quite surreal getting an email of the patch as well.

sir_lucjan commented on 2017-07-29 18:43

@monotykamary

I've updated and rebased BFQ-MQ patchset (and I've removed unneeded tentative patches):

https://github.com/sirlucjan/lucjan-kernels/commit/dbe3a5adae9e332b612a2e61096a9cfbc0708ad3

monotykamary commented on 2017-07-27 10:19

@sir_lucjan

Ah my bad, I see it now. The diff concerning drivers/nvme/host/rdma.c gets applied upstream on 4.12.4-rc1, which makes the prepare compilation error.

I'll certainly rebase it when it reaches linux-stable or just use your cleaned patch if there aren't too many changes afterwards :)

sir_lucjan commented on 2017-07-27 09:17

You've compiled both packages without problems because I've removed some section from 4.13-linux-block-for-linus.patch :) You can compare patches.

monotykamary commented on 2017-07-27 04:26

@sir_lucjan

I've compiled both packages in the trunk with no problems. I thought it might have been the order of patches, but I guess it didn't really matter here.

Do you have the log for the compilation that shows the issue? I might be able to figure it out from there.

sir_lucjan commented on 2017-07-26 20:39

With 4.12.4 you should rebase '4.13-linus....patch'

https://github.com/sirlucjan/lucjan-kernels/blob/master/lucjan-kernels-trunk/linux-bfq-mq-haswell-git/4.13-linux-block-for-linus.patch

Yours version doesn't work properly (error during compilation).

sir_lucjan commented on 2017-07-26 10:46

Without "4.13-uuid-block-merge.patch" I got an error during compilation. 'linux-bfq-mq-haswell' for 4.12 is a very experimental branch and I strongly recommend 4.11 :)

I've used https://github.com/Algodev-github/bfq-mq/compare - it works pretty well :)

These flags were inspired by linux-ck. And it's worked well :)

monotykamary commented on 2017-07-25 23:15

@sir_lucjan

The flags and stream edits in the PKGBUILD look really nice. I'm just horrible with that. I wonder if I can add some of them here ;). I'm also pretty surprised you made use of the merge patch I left in the repository.

Lately I've been looking into some of the bugs that happen with bfq-mq related to my machine. Along with the fact that stock Arch on stable core hasn't bumped up to 4.12.3, I've been pretty reluctant on upgrading the patches for this package.

After making a quick and dirty git PKGBUILD of the Algodev-github bfq-mq repository - I unfortunately still see the same bugs occurring and sent a netconsole log to the bfq group, but I'm quite relieved that I didn't mess up the patches.

However, there has been a lot of changes to the block layer (more than a handful of commits in 12051 commits between v4.13-rc1 and v4.12) since bfq-mq's rebase to 4.13-rc1. The patch itself doesn't seem outdated after spending a few hours comparing it to commits on git linux, but I'm pretty sure it has to be timeline wise. I will probably cheat and make the necessary block patches directly from Jens linux-block repository and see how it turns out from there.

sir_lucjan commented on 2017-07-25 19:57

If anyone wants:

4.12 (stable branch) - https://github.com/sirlucjan/lucjan-kernels/tree/master/lucjan-kernels-experimental

4.12 (stable-review branch) - https://github.com/sirlucjan/lucjan-kernels/tree/master/lucjan-kernels-trunk

4.12 with the newest BFQ (BFQ-SQ and BFQ-MQ) patchset.

monotykamary commented on 2017-05-14 16:02

IO scheduler will default to "mq-deadline" given that DEFAULT_MQ_IOSCHED is currently not implemented in mainline. For now, you can use `sudo tee /sys/block/sda/queue/scheduler <<< bfq-mq` to enable "bfq-mq".

You can also add this to your udev rules:
```
# Non-rotational disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="bfq-mq"
# Rotational disks
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="1", ATTR{queue/scheduler}="bfq-mq"
```

`sudo udevadm control --reload && sudo udevadm trigger`

Configs are left at Arch default and v4.12 defaults except for the following definitions:

CONFIG_IOSCHED_BFQ=y
CONFIG_BFQ_GROUP_IOSCHED=y
CONFIG_DEFAULT_BFQ=y
CONFIG_DEFAULT_IOSCHED="bfq-sq"
CONFIG_MQ_IOSCHED_BFQ=y
CONFIG_MQ_BFQ_GROUP_IOSCHED=y

`config.i686` was made in deselecting x64 in `make xconfig`, but has not been tested.

The patch (4.12-bfq-mq-*.patch) is formatted from `git format-patch 87b2c3fc6317` straight from a local clone of https://github.com/Algodev-github/bfq-mq. Makefile commits are now kept in newer patches for use of sir_lucjan's Makefile stream edits.