Re: [tip:timers/urgent] sched/cputime: Do not scale when utime == 0
On Wed, Sep 04, 2013 at 07:37:22AM -0700, tip-bot for Stanislaw Gruszka wrote: > Commit-ID: 5a8e01f8fa51f5cbce8f37acc050eb2319d12956 > Gitweb: http://git.kernel.org/tip/5a8e01f8fa51f5cbce8f37acc050eb2319d12956 > Author: Stanislaw Gruszka > AuthorDate: Wed, 4 Sep 2013 15:16:03 +0200 > Committer: Ingo Molnar > CommitDate: Wed, 4 Sep 2013 16:31:25 +0200 > > sched/cputime: Do not scale when utime == 0 > > scale_stime() silently assumes that stime < rtime, otherwise > when stime == rtime and both values are big enough (operations > on them do not fit in 32 bits), the resulting scaling stime can > be bigger than rtime. In consequence utime = rtime - stime > results in negative value. > > User space visible symptoms of the bug are overflowed TIME > values on ps/top, for example: > > $ ps aux | grep rcu > root 8 0.0 0.0 0 0 ?S12:42 0:00 [rcuc/0] > root 9 0.0 0.0 0 0 ?S12:42 0:00 [rcub/0] > root10 62422329 0.0 0 0 ?R12:42 21114581:37 > [rcu_preempt] > root11 0.1 0.0 0 0 ?S12:42 0:02 [rcuop/0] > root12 62422329 0.0 0 0 ?S12:42 21114581:35 > [rcuop/1] > root10 62422329 0.0 0 0 ?R12:42 21114581:37 > [rcu_preempt] > > or overflowed utime values read directly from /proc/$PID/stat > > Reference: > > https://lkml.org/lkml/2013/8/20/259 > > Reported-and-tested-by: Sergey Senozhatsky > Signed-off-by: Stanislaw Gruszka > Cc: sta...@vger.kernel.org > Cc: Frederic Weisbecker > Cc: Peter Zijlstra > Cc: Paul E. McKenney > Cc: Borislav Petkov > Link: http://lkml.kernel.org/r/20130904131602.gc2...@redhat.com > Signed-off-by: Ingo Molnar Thanks a lot guys! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [tip:timers/urgent] sched/cputime: Do not scale when utime == 0
On Wed, Sep 04, 2013 at 07:37:22AM -0700, tip-bot for Stanislaw Gruszka wrote: Commit-ID: 5a8e01f8fa51f5cbce8f37acc050eb2319d12956 Gitweb: http://git.kernel.org/tip/5a8e01f8fa51f5cbce8f37acc050eb2319d12956 Author: Stanislaw Gruszka sgrus...@redhat.com AuthorDate: Wed, 4 Sep 2013 15:16:03 +0200 Committer: Ingo Molnar mi...@kernel.org CommitDate: Wed, 4 Sep 2013 16:31:25 +0200 sched/cputime: Do not scale when utime == 0 scale_stime() silently assumes that stime rtime, otherwise when stime == rtime and both values are big enough (operations on them do not fit in 32 bits), the resulting scaling stime can be bigger than rtime. In consequence utime = rtime - stime results in negative value. User space visible symptoms of the bug are overflowed TIME values on ps/top, for example: $ ps aux | grep rcu root 8 0.0 0.0 0 0 ?S12:42 0:00 [rcuc/0] root 9 0.0 0.0 0 0 ?S12:42 0:00 [rcub/0] root10 62422329 0.0 0 0 ?R12:42 21114581:37 [rcu_preempt] root11 0.1 0.0 0 0 ?S12:42 0:02 [rcuop/0] root12 62422329 0.0 0 0 ?S12:42 21114581:35 [rcuop/1] root10 62422329 0.0 0 0 ?R12:42 21114581:37 [rcu_preempt] or overflowed utime values read directly from /proc/$PID/stat Reference: https://lkml.org/lkml/2013/8/20/259 Reported-and-tested-by: Sergey Senozhatsky sergey.senozhat...@gmail.com Signed-off-by: Stanislaw Gruszka sgrus...@redhat.com Cc: sta...@vger.kernel.org Cc: Frederic Weisbecker fweis...@gmail.com Cc: Peter Zijlstra pet...@infradead.org Cc: Paul E. McKenney paul...@linux.vnet.ibm.com Cc: Borislav Petkov b...@alien8.de Link: http://lkml.kernel.org/r/20130904131602.gc2...@redhat.com Signed-off-by: Ingo Molnar mi...@kernel.org Thanks a lot guys! -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/