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-ck4/kernel/sched/bfs.c =================================================================== --- linux-4.7-ck4.orig/kernel/sched/bfs.c 2016-09-13 17:21:51.880258093 +1000 +++ linux-4.7-ck4/kernel/sched/bfs.c 2016-09-13 17:21:51.877258162 +1000 @@ -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