diff --git a/core/linux-kirkwood/0001-block-Switch-from-BFQ-v6r2-for-3.10.0-to-BFQ-v6r2-fo.patch b/core/linux-kirkwood/0001-block-Switch-from-BFQ-v6r2-for-3.10.0-to-BFQ-v6r2-fo.patch new file mode 100644 index 000000000..8f850c6ce --- /dev/null +++ b/core/linux-kirkwood/0001-block-Switch-from-BFQ-v6r2-for-3.10.0-to-BFQ-v6r2-fo.patch @@ -0,0 +1,59 @@ +From 994451c7668678f1bf3ec86345bef1c1d549ba45 Mon Sep 17 00:00:00 2001 +From: Arianna Avanzini +Date: Wed, 24 Jul 2013 21:43:47 +0200 +Subject: [PATCH] block: Switch from BFQ-v6r2 for 3.10.0 to BFQ-v6r2 for + 3.10.8-rc1. + +--- + block/bfq-iosched.c | 18 +++++++++++++++--- + 1 file changed, 15 insertions(+), 3 deletions(-) + +diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c +index bc57923..bbe79fb 100644 +--- a/block/bfq-iosched.c ++++ b/block/bfq-iosched.c +@@ -2930,14 +2930,22 @@ static void bfq_exit_queue(struct elevator_queue *e) + kfree(bfqd); + } + +-static int bfq_init_queue(struct request_queue *q) ++static int bfq_init_queue(struct request_queue *q, struct elevator_type *e) + { + struct bfq_group *bfqg; + struct bfq_data *bfqd; ++ struct elevator_queue *eq; ++ ++ eq = elevator_alloc(q, e); ++ if (eq == NULL) ++ return -ENOMEM; + + bfqd = kmalloc_node(sizeof(*bfqd), GFP_KERNEL | __GFP_ZERO, q->node); +- if (bfqd == NULL) ++ if (bfqd == NULL) { ++ kobject_put(&eq->kobj); + return -ENOMEM; ++ } ++ eq->elevator_data = bfqd; + + /* + * Our fallback bfqq if bfq_find_alloc_queue() runs into OOM issues. +@@ -2948,11 +2956,15 @@ static int bfq_init_queue(struct request_queue *q) + atomic_inc(&bfqd->oom_bfqq.ref); + + bfqd->queue = q; +- q->elevator->elevator_data = bfqd; ++ ++ spin_lock_irq(q->queue_lock); ++ q->elevator = eq; ++ spin_unlock_irq(q->queue_lock); + + bfqg = bfq_alloc_root_group(bfqd, q->node); + if (bfqg == NULL) { + kfree(bfqd); ++ kobject_put(&eq->kobj); + return -ENOMEM; + } + +-- +1.8.1.4 + diff --git a/core/linux-kirkwood/PKGBUILD b/core/linux-kirkwood/PKGBUILD index 171f266e9..d73905362 100644 --- a/core/linux-kirkwood/PKGBUILD +++ b/core/linux-kirkwood/PKGBUILD @@ -9,7 +9,7 @@ pkgname=('linux-kirkwood' 'linux-headers-kirkwood') _kernelname=${pkgname#linux} _basekernel=3.10.9 pkgver=${_basekernel} -pkgrel=1 +pkgrel=2 cryptover=1.6 bfqver=v6r2 arch=('arm') @@ -26,7 +26,8 @@ source=("ftp://ftp.kernel.org/pub/linux/kernel/v3.x/linux-${_basekernel}.tar.xz" "http://download.gna.org/cryptodev-linux/cryptodev-linux-${cryptover}.tar.gz" "http://algo.ing.unimo.it/people/paolo/disk_sched/patches/$(echo $_basekernel |cut -c 1-4).0-${bfqver}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-$(echo $_basekernel | cut -c 1-4).patch" "http://algo.ing.unimo.it/people/paolo/disk_sched/patches/$(echo $_basekernel |cut -c 1-4).0-${bfqver}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-$(echo $_basekernel |cut -c 1-4).patch" - "http://algo.ing.unimo.it/people/paolo/disk_sched/patches/$(echo $_basekernel |cut -c 1-4).0-${bfqver}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-$(echo $_basekernel |cut -c 1-4).0.patch") + "http://algo.ing.unimo.it/people/paolo/disk_sched/patches/$(echo $_basekernel |cut -c 1-4).0-${bfqver}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-$(echo $_basekernel |cut -c 1-4).0.patch" + "0001-block-Switch-from-BFQ-v6r2-for-3.10.0-to-BFQ-v6r2-fo.patch") md5sums=('28d1e1117c30fdd861f70ac0f9b677aa' '6aa079410d6bd76847d4390a3da4db47' @@ -37,7 +38,8 @@ md5sums=('28d1e1117c30fdd861f70ac0f9b677aa' 'eade38998313c25fd7934719cdf8a2ea' 'f1a179be96469b27c21d114b55b521cb' 'a929da16edbd480d7d8f90a15eb8a548' - 'b9e7cbbb21bbe08a4baea9f7e8bc8083') + 'b9e7cbbb21bbe08a4baea9f7e8bc8083' + 'ae3c4e30dc31f33abf7897c2a842f130') build() { msg "Patches" @@ -70,6 +72,7 @@ msg2 "Add BFQ patches" patch -Np1 -i "${srcdir}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-$(echo $_basekernel | cut -c 1-4).patch" patch -Np1 -i "${srcdir}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-$(echo $_basekernel |cut -c 1-4).patch" patch -Np1 -i "${srcdir}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-$(echo $_basekernel |cut -c 1-4).0.patch" + patch -Np1 -i "${srcdir}/0001-block-Switch-from-BFQ-v6r2-for-3.10.0-to-BFQ-v6r2-fo.patch" # add latest fixes from stable queue, if needed # http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git