summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorsirlucjan2017-04-18 17:20:02 +0200
committersirlucjan2017-04-18 17:20:02 +0200
commit98831900fbbcd9029f2826c1fc5b8da7b67325b2 (patch)
tree8800d7cbff7a6c51cab00bdef6371ff8aa9f9f4c
parent33f3b2b00c36f8f69ee74b233cae73ee7f5de772 (diff)
downloadaur-98831900fbbcd9029f2826c1fc5b8da7b67325b2.tar.gz
Update to 4.10.11-1 and to BFQ v8r10-rc1
-rw-r--r--.SRCINFO10
-rw-r--r--0006-BFQ-update-to-v8r10.patch108
-rw-r--r--PKGBUILD12
3 files changed, 121 insertions, 9 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0204947eed9d..557df4afba51 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
pkgbase = linux-bfq
- pkgver = 4.10.10
+ pkgver = 4.10.11
pkgrel = 1
url = http://algo.ing.unimo.it
arch = i686
@@ -11,8 +11,8 @@ pkgbase = linux-bfq
options = !strip
source = http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.10.tar.xz
source = https://www.kernel.org/pub/linux/kernel/v4.x/linux-4.10.tar.sign
- source = http://www.kernel.org/pub/linux/kernel/v4.x/patch-4.10.10.xz
- source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.10.10.sign
+ source = http://www.kernel.org/pub/linux/kernel/v4.x/patch-4.10.11.xz
+ source = https://www.kernel.org/pub/linux/kernel/v4.x/patch-4.10.11.sign
source = http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.10.0-v8r8/0001-block-cgroups-kconfig-build-bits-for-BFQ-v7r11-4.10..patch
source = http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.10.0-v8r8/0002-block-introduce-the-BFQ-v7r11-I-O-sched-for-4.10.0.patch
source = http://algo.ing.unimo.it/people/paolo/disk_sched/patches/4.10.0-v8r8/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-v7r11-for.patch
@@ -23,11 +23,12 @@ pkgbase = linux-bfq
source = 90-linux.hook
source = linux.preset
source = 0005-BFQ-update-to-v8r9.patch
+ source = 0006-BFQ-update-to-v8r10.patch
validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886
validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E
sha512sums = c3690125a8402df638095bd98a613fcf1a257b81de7611c84711d315cd11e2634ab4636302b3742aedf1e3ba9ce0fea53fe8c7d48e37865d8ee5db3565220d90
sha512sums = SKIP
- sha512sums = 264d156d7a3b1f3b3a80a7a9dc9a358b5cd582d8d894c482f3c9eb5af4eca64439720d5b9b141ae57f7845dfab59563497faae8e6fb666aeec86aab6b8df904a
+ sha512sums = a3515be12639f12c4433c122615e841eea4a70ae1557eb305f9c175ae2fec16439a34f3a79a4d1976c19b4068bf6ff1a7b75ff600c9b6c467cfa0edb1f24fdab
sha512sums = SKIP
sha512sums = 03f4d45c0b3ac20baea9eaa92591e1749499e084cbca104f55a3ec4cfeda0e6c7fe6766b0eea0bb5bb4cf7f2371992e7a6002aaec09a08386fe2431c9cf0a3a8
sha512sums = c4161e2ff79647b8e8212681c0294b6f160c135728f48adfe61b1089d6242f925584afe4d2ebf0ef9cb650ae45c057d5c7119ce0264d3aeda008bb359b2b2582
@@ -39,6 +40,7 @@ pkgbase = linux-bfq
sha512sums = d6faa67f3ef40052152254ae43fee031365d0b1524aa0718b659eb75afc21a3f79ea8d62d66ea311a800109bed545bc8f79e8752319cd378eef2cbd3a09aba22
sha512sums = 2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf
sha512sums = ee41c3d94f16ad34077a84a1bdb49789e5d7979c75abb46970707929627542f7c78e35ae93833b45030ea03ec4ee52f21e410dad37fa967d02d1aeb72f0b5cd8
+ sha512sums = c249437e86d40c4ba0d47d9b2b2bc9adf4e118ba94bc3b880ac11c2ce396029ab8b1c78517f2ccd5a403dd54193370034f8c81a239cae4be0b5ff03d91b30cc8
pkgname = linux-bfq
pkgdesc = Linux Kernel and modules with the BFQ scheduler.
diff --git a/0006-BFQ-update-to-v8r10.patch b/0006-BFQ-update-to-v8r10.patch
new file mode 100644
index 000000000000..08695f908a6a
--- /dev/null
+++ b/0006-BFQ-update-to-v8r10.patch
@@ -0,0 +1,108 @@
+From 92c8fadddcad6552bda309d11912ba9ffed7cc8b Mon Sep 17 00:00:00 2001
+From: Paolo Valente <paolo.valente@linaro.org>
+Date: Tue, 11 Apr 2017 12:28:10 +0200
+Subject: [PATCH 1/3] BUGFIX: Handle failure of weight-conuter allocation
+
+Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
+---
+ block/bfq-iosched.c | 16 ++++++++++++++++
+ 1 file changed, 16 insertions(+)
+
+diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
+index 8b44281..599bf63 100644
+--- a/block/bfq-iosched.c
++++ b/block/bfq-iosched.c
+@@ -474,6 +474,22 @@ static void bfq_weights_tree_add(struct bfq_data *bfqd,
+
+ entity->weight_counter = kzalloc(sizeof(struct bfq_weight_counter),
+ GFP_ATOMIC);
++
++ /*
++ * In the unlucky event of an allocation failure, we just
++ * exit. This will cause the weight of entity to not be
++ * considered in bfq_differentiated_weights, which, in its
++ * turn, causes the scenario to be deemed wrongly symmetric in
++ * case entity's weight would have been the only weight making
++ * the scenario asymmetric. On the bright side, no unbalance
++ * will however occur when entity becomes inactive again (the
++ * invocation of this function is triggered by an activation
++ * of entity). In fact, bfq_weights_tree_remove does nothing
++ * if !entity->weight_counter.
++ */
++ if (unlikely(!entity->weight_counter))
++ return;
++
+ entity->weight_counter->weight = entity->weight;
+ rb_link_node(&entity->weight_counter->weights_node, parent, new);
+ rb_insert_color(&entity->weight_counter->weights_node, root);
+
+From 003ea9d86e637c4c79ce486ce96d47bd72b84932 Mon Sep 17 00:00:00 2001
+From: Paolo Valente <paolo.valente@linaro.org>
+Date: Tue, 11 Apr 2017 12:32:03 +0200
+Subject: [PATCH 2/3] BUGFIX: Remove problematic check on max service duration
+
+Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
+---
+ block/bfq-iosched.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
+index 599bf63..e58114f 100644
+--- a/block/bfq-iosched.c
++++ b/block/bfq-iosched.c
+@@ -2922,8 +2922,8 @@ static bool bfq_bfqq_is_slow(struct bfq_data *bfqd, struct bfq_queue *bfqq,
+ delta_ktime = ktime_sub(delta_ktime, bfqd->last_budget_start);
+ delta_usecs = ktime_to_us(delta_ktime);
+
+- /* don't trust short/unrealistic values. */
+- if (delta_usecs < 1000 || delta_usecs >= LONG_MAX) {
++ /* don't use too short time intervals */
++ if (delta_usecs < 1000) {
+ if (blk_queue_nonrot(bfqd->queue))
+ /*
+ * give same worst-case guarantees as idling
+@@ -2933,7 +2933,7 @@ static bool bfq_bfqq_is_slow(struct bfq_data *bfqd, struct bfq_queue *bfqq,
+ else /* charge at least one seek */
+ *delta_ms = bfq_slice_idle / NSEC_PER_MSEC;
+
+- bfq_log(bfqd, "bfq_bfqq_is_slow: unrealistic %u", delta_usecs);
++ bfq_log(bfqd, "bfq_bfqq_is_slow: too short %u", delta_usecs);
+
+ return slow;
+ }
+
+From 6014dea9c5091b5608a081ff8b0e65f689f4f79e Mon Sep 17 00:00:00 2001
+From: Paolo Valente <paolo.valente@linaro.org>
+Date: Tue, 11 Apr 2017 12:35:09 +0200
+Subject: [PATCH 3/3] BFQ-v8r10-rc1
+
+Signed-off-by: Paolo Valente <paolo.valente@linaro.org>
+---
+ block/bfq-iosched.c | 2 +-
+ block/bfq.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c
+index e58114f..6d1f54f 100644
+--- a/block/bfq-iosched.c
++++ b/block/bfq-iosched.c
+@@ -5257,7 +5257,7 @@ static struct blkcg_policy blkcg_policy_bfq = {
+ static int __init bfq_init(void)
+ {
+ int ret;
+- char msg[60] = "BFQ I/O-scheduler: v8r9";
++ char msg[60] = "BFQ I/O-scheduler: v8r10-rc1";
+
+ #ifdef CONFIG_BFQ_GROUP_IOSCHED
+ ret = blkcg_policy_register(&blkcg_policy_bfq);
+diff --git a/block/bfq.h b/block/bfq.h
+index fea4b78..67d5667 100644
+--- a/block/bfq.h
++++ b/block/bfq.h
+@@ -1,5 +1,5 @@
+ /*
+- * BFQ v8r9 for 4.10.0: data structures and common functions prototypes.
++ * BFQ v8r10-rc1 for 4.11.0: data structures and common functions prototypes.
+ *
+ * Based on ideas and code from CFQ:
+ * Copyright (C) 2003 Jens Axboe <axboe@kernel.dk>
diff --git a/PKGBUILD b/PKGBUILD
index ce6b40ac9b0c..97d86f1bbe43 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -51,7 +51,7 @@ _use_current=
pkgbase=linux-bfq
# pkgname=('linux-bfq' 'linux-bfq-headers' 'linux-bfq-docs')
_srcname=linux-4.10
-pkgver=4.10.10
+pkgver=4.10.11
pkgrel=1
arch=('i686' 'x86_64')
url="http://algo.ing.unimo.it"
@@ -80,7 +80,8 @@ source=("http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.xz"
# standard config files for mkinitcpio ramdisk
'linux.preset'
# patches from https://github.com/linusw/linux-bfq/commits/bfq-v8
- '0005-BFQ-update-to-v8r9.patch')
+ '0005-BFQ-update-to-v8r9.patch'
+ '0006-BFQ-update-to-v8r10.patch')
_kernelname=${pkgbase#linux}
@@ -93,7 +94,7 @@ prepare() {
### Patch source with BFQ
msg "Patching source with BFQ patches"
- for p in "${srcdir}"/000{1,2,3,4,5}-*BFQ*.patch; do
+ for p in "${srcdir}"/000{1,2,3,4,5,6}-*BFQ*.patch; do
msg " $p"
patch -Np1 -i "$p"
done
@@ -425,7 +426,7 @@ done
sha512sums=('c3690125a8402df638095bd98a613fcf1a257b81de7611c84711d315cd11e2634ab4636302b3742aedf1e3ba9ce0fea53fe8c7d48e37865d8ee5db3565220d90'
'SKIP'
- '264d156d7a3b1f3b3a80a7a9dc9a358b5cd582d8d894c482f3c9eb5af4eca64439720d5b9b141ae57f7845dfab59563497faae8e6fb666aeec86aab6b8df904a'
+ 'a3515be12639f12c4433c122615e841eea4a70ae1557eb305f9c175ae2fec16439a34f3a79a4d1976c19b4068bf6ff1a7b75ff600c9b6c467cfa0edb1f24fdab'
'SKIP'
'03f4d45c0b3ac20baea9eaa92591e1749499e084cbca104f55a3ec4cfeda0e6c7fe6766b0eea0bb5bb4cf7f2371992e7a6002aaec09a08386fe2431c9cf0a3a8'
'c4161e2ff79647b8e8212681c0294b6f160c135728f48adfe61b1089d6242f925584afe4d2ebf0ef9cb650ae45c057d5c7119ce0264d3aeda008bb359b2b2582'
@@ -436,7 +437,8 @@ sha512sums=('c3690125a8402df638095bd98a613fcf1a257b81de7611c84711d315cd11e2634ab
'6afb164bc7a38fea08a49c70690afafb209d1245588e1ecf57998926f5b43fe85d39a1ab1a133900b82bc1d3d97538330bf5c646b62e782653d69b6139d72200'
'd6faa67f3ef40052152254ae43fee031365d0b1524aa0718b659eb75afc21a3f79ea8d62d66ea311a800109bed545bc8f79e8752319cd378eef2cbd3a09aba22'
'2dc6b0ba8f7dbf19d2446c5c5f1823587de89f4e28e9595937dd51a87755099656f2acec50e3e2546ea633ad1bfd1c722e0c2b91eef1d609103d8abdc0a7cbaf'
- 'ee41c3d94f16ad34077a84a1bdb49789e5d7979c75abb46970707929627542f7c78e35ae93833b45030ea03ec4ee52f21e410dad37fa967d02d1aeb72f0b5cd8')
+ 'ee41c3d94f16ad34077a84a1bdb49789e5d7979c75abb46970707929627542f7c78e35ae93833b45030ea03ec4ee52f21e410dad37fa967d02d1aeb72f0b5cd8'
+ 'c249437e86d40c4ba0d47d9b2b2bc9adf4e118ba94bc3b880ac11c2ce396029ab8b1c78517f2ccd5a403dd54193370034f8c81a239cae4be0b5ff03d91b30cc8')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds