From e8db99f5ebb299a362dab704e0d3cfcd89c86575 Mon Sep 17 00:00:00 2001 From: aszlig Date: Tue, 1 Dec 2015 08:23:30 +0100 Subject: pkgs/bfqsched: Add patch for kernel 4.4. The __GFP_WAIT macro has been renamed in torvalds/linux@71baba4 and torvalds/linux@d0164ad introduced the gfpflags_allow_blocking() helper, which we're going to use to avoid false positives. Signed-off-by: aszlig --- pkgs/kpatches/bfqsched/default.nix | 1 + pkgs/kpatches/bfqsched/kernel-4.4.patch | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 pkgs/kpatches/bfqsched/kernel-4.4.patch (limited to 'pkgs') diff --git a/pkgs/kpatches/bfqsched/default.nix b/pkgs/kpatches/bfqsched/default.nix index 8989f4b9..f71b7135 100644 --- a/pkgs/kpatches/bfqsched/default.nix +++ b/pkgs/kpatches/bfqsched/default.nix @@ -28,6 +28,7 @@ let + "${bfqVersion}-for-${kernelVersion}.0"; sha256 = "178spkcwaz79rz8fb7h209grbgr2ca4lbgfmns4d43b7aiqhqhvp"; }) + ./kernel-4.4.patch ]; patch = stdenv.mkDerivation { diff --git a/pkgs/kpatches/bfqsched/kernel-4.4.patch b/pkgs/kpatches/bfqsched/kernel-4.4.patch new file mode 100644 index 00000000..0001ec21 --- /dev/null +++ b/pkgs/kpatches/bfqsched/kernel-4.4.patch @@ -0,0 +1,22 @@ +diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c +index 71b51c1..1233eeb 100644 +--- a/block/bfq-iosched.c ++++ b/block/bfq-iosched.c +@@ -3075,7 +3075,7 @@ retry: + if (new_bfqq != NULL) { + bfqq = new_bfqq; + new_bfqq = NULL; +- } else if (gfp_mask & __GFP_WAIT) { ++ } else if (gfpflags_allow_blocking(gfp_mask)) { + spin_unlock_irq(bfqd->queue->queue_lock); + new_bfqq = kmem_cache_alloc_node(bfq_pool, + gfp_mask | __GFP_ZERO, +@@ -3574,7 +3574,7 @@ static int bfq_set_request(struct request_queue *q, struct request *rq, + unsigned long flags; + bool split = false; + +- might_sleep_if(gfp_mask & __GFP_WAIT); ++ might_sleep_if(gfpflags_allow_blocking(gfp_mask)); + + bfq_check_ioprio_change(bic); + -- cgit 1.4.1