• Thomas Gleixner's avatar
    sched: fix nr_uninterruptible accounting of frozen tasks really · 6301cb95
    Thomas Gleixner authored
    commit e3c8ca83 (sched: do not count frozen tasks toward load) broke
    the nr_uninterruptible accounting on freeze/thaw. On freeze the task
    is excluded from accounting with a check for (task->flags &
    PF_FROZEN), but that flag is cleared before the task is thawed. So
    while we prevent that the task with state TASK_UNINTERRUPTIBLE
    is accounted to nr_uninterruptible on freeze we decrement
    nr_uninterruptible on thaw.
    
    Use a separate flag which is handled by the freezing task itself. Set
    it before calling the scheduler with TASK_UNINTERRUPTIBLE state and
    clear it after we return from frozen state.
    
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    6301cb95
freezer.c 3.82 KB