diff options
Diffstat (limited to 'pkgs/kpatches/bfqsched')
-rw-r--r-- | pkgs/kpatches/bfqsched/default.nix | 1 | ||||
-rw-r--r-- | pkgs/kpatches/bfqsched/kernel-4.4.patch | 22 |
2 files changed, 23 insertions, 0 deletions
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); + |