core/linux-raspberrypi-latest to 3.10.9

This commit is contained in:
moonman 2013-08-24 03:32:44 -06:00
parent 7897d8bd6c
commit 3751f2ec48
2 changed files with 65 additions and 3 deletions

View file

@ -0,0 +1,59 @@
From 994451c7668678f1bf3ec86345bef1c1d549ba45 Mon Sep 17 00:00:00 2001
From: Arianna Avanzini <avanzini.arianna@gmail.com>
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

View file

@ -8,7 +8,7 @@ pkgname=('linux-raspberrypi-latest' 'linux-headers-raspberrypi-latest')
# pkgname=linux-custom # Build kernel with a different name
_kernelname=${pkgname#linux}
_basekernel=3.10
pkgver=${_basekernel}.7
pkgver=${_basekernel}.9
pkgrel=1
bfqver=v6r2
arch=('arm armv6h')
@ -24,7 +24,8 @@ source=('config'
'imagetool-uncompressed.py'
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${_basekernel}.0-${bfqver}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-${_basekernel}.patch"
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${_basekernel}.0-${bfqver}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-${_basekernel}.patch"
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${_basekernel}.0-${bfqver}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-${_basekernel}.0.patch")
"http://algo.ing.unimo.it/people/paolo/disk_sched/patches/${_basekernel}.0-${bfqver}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-${_basekernel}.0.patch"
"0001-block-Switch-from-BFQ-v6r2-for-3.10.0-to-BFQ-v6r2-fo.patch")
md5sums=('ffa811c00bd9377851c75a8e8acf371c'
'9d3c56a4b999c8bfbd4018089a62f662'
@ -34,7 +35,8 @@ md5sums=('ffa811c00bd9377851c75a8e8acf371c'
'2f82dbe5752af65ff409d737caf11954'
'f1a179be96469b27c21d114b55b521cb'
'a929da16edbd480d7d8f90a15eb8a548'
'b9e7cbbb21bbe08a4baea9f7e8bc8083')
'b9e7cbbb21bbe08a4baea9f7e8bc8083'
'ae3c4e30dc31f33abf7897c2a842f130')
build() {
git clone --branch=rpi-${_basekernel}.y --depth=1 https://github.com/raspberrypi/linux.git
@ -53,6 +55,7 @@ msg "Patches:"
patch -Np1 -i "${srcdir}/0001-block-cgroups-kconfig-build-bits-for-BFQ-${bfqver}-${_basekernel}.patch"
patch -Np1 -i "${srcdir}/0002-block-introduce-the-BFQ-${bfqver}-I-O-sched-for-${_basekernel}.patch"
patch -Np1 -i "${srcdir}/0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-${bfqver}-for-${_basekernel}.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