• Con Kolivas's avatar
    [PATCH] sched: make task_noninteractive use sleep_type · e7c38cb4
    Con Kolivas authored
    Alterations to the pipe code in the kernel made it possible for relative
    starvation to occur with tasks that slept waiting on a pipe getting unfair
    priority bonuses even if they were otherwise fully cpu bound so the
    TASK_NONINTERACTIVE flag was introduced which prevented any change to
    sleep_avg while sleeping waiting on a pipe.  This change also leads to the
    converse though, preventing any priority boost from occurring in truly
    interactive tasks that wait on pipes.
    
    Convert the TASK_NONINTERACTIVE flag to set sleep_type to SLEEP_NONINTERACTIVE
    which will allow a linear bonus to priority based on sleep time thus allowing
    interactive tasks to get high priority if they sleep enough.
    Signed-off-by: default avatarCon Kolivas <kernel@kolivas.org>
    Acked-by: default avatarIngo Molnar <mingo@elte.hu>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    e7c38cb4
sched.c 155 KB