• Frederic Weisbecker's avatar
    sched/cputime: Correctly handle task guest time on housekeepers · cab245d6
    Frederic Weisbecker authored
    When a task runs on a housekeeper (a CPU running with the periodic tick
    with neighbours running tickless), it doesn't account cputime using vtime
    but relies on the tick. Such a task has its vtime_snap_whence value set
    to VTIME_INACTIVE.
    
    Readers won't handle that correctly though. As long as vtime is running
    on some CPU, readers incorretly assume that vtime runs on all CPUs and
    always compute the tickless cputime delta, which is only junk on
    housekeepers.
    
    So lets fix this with checking that the target runs on a vtime CPU through
    the appropriate state check before computing the tickless delta.
    Signed-off-by: default avatarFrederic Weisbecker <fweisbec@gmail.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Chris Metcalf <cmetcalf@ezchip.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Luiz Capitulino <lcapitulino@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul E . McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/1447948054-28668-5-git-send-email-fweisbec@gmail.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    cab245d6
cputime.c 22.8 KB