Offset idleprio tasks by a value which will not overflow when left shifted for locality_diff. -ck --- kernel/sched/bfs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Index: linux-4.7-ck3/kernel/sched/bfs.c =================================================================== --- linux-4.7-ck3.orig/kernel/sched/bfs.c +++ linux-4.7-ck3/kernel/sched/bfs.c @@ -605,8 +605,9 @@ static void enqueue_task(struct task_str sl_id = p->prio; else { sl_id = p->deadline; + /* Set it to cope with 4 left shifts with locality_diff */ if (p->prio == IDLE_PRIO) - sl_id |= 0xF000000000000000; + sl_id |= 0x0F00000000000000; } /* * Some architectures don't have better than microsecond resolution