From: Rik van Riel <riel@redhat.com>
To: Wanpeng Li <kernellwp@gmail.com>,
linux-kernel@vger.kernel.org, kvm@vger.kernel.org
Cc: Wanpeng Li <wanpeng.li@hotmail.com>,
Ingo Molnar <mingo@kernel.org>,
"Peter Zijlstra (Intel)" <peterz@infradead.org>,
Thomas Gleixner <tglx@linutronix.de>,
Frederic Weisbecker <fweisbec@gmail.com>,
Paolo Bonzini <pbonzini@redhat.com>, Radim <rkrcmar@redhat.com>
Subject: Re: [PATCH] sched/cputime: add steal time support to full dynticks CPU time accounting
Date: Wed, 18 May 2016 03:10:29 -0400 [thread overview]
Message-ID: <1463555429.16365.43.camel@redhat.com> (raw)
In-Reply-To: <1462858484-3267-1-git-send-email-wanpeng.li@hotmail.com>
[-- Attachment #1: Type: text/plain, Size: 1070 bytes --]
On Tue, 2016-05-10 at 13:34 +0800, Wanpeng Li wrote:
>
> +++ b/kernel/sched/cputime.c
>
> @@ -691,8 +691,11 @@ static cputime_t get_vtime_delta(struct
> task_struct *tsk)
>
> static void __vtime_account_system(struct task_struct *tsk)
> {
> + unsigned long steal_time = steal_account_process_tick();
> cputime_t delta_cpu = get_vtime_delta(tsk);
>
> + delta_cpu = steal_time ? (delta_cpu -
> + jiffies_to_cputime(steal_time)) : delta_cpu;
> account_system_time(tsk, irq_count(), delta_cpu,
> cputime_to_scaled(delta_cpu));
> }
>
Sorry to have to go back on my previous email, but
this is now a NAK
The above code can end up passing a negative number
to account_system_time(), which in turn can cause a
divide by zero in scale_stime()
The code needs to ensure that if all the time that
passed was accounted as steal time (which could be
more jiffies than expected, due to remaining partial
jiffies in steal_account_process_tick), the function
does not call account_system_time().
--
All Rights Reversed.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 473 bytes --]
next prev parent reply other threads:[~2016-05-18 7:10 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-10 5:34 [PATCH] sched/cputime: add steal time support to full dynticks CPU time accounting Wanpeng Li
2016-05-18 4:04 ` Rik van Riel
2016-05-18 7:10 ` Rik van Riel [this message]
2016-05-18 7:45 ` Wanpeng Li
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1463555429.16365.43.camel@redhat.com \
--to=riel@redhat.com \
--cc=fweisbec@gmail.com \
--cc=kernellwp@gmail.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=rkrcmar@redhat.com \
--cc=tglx@linutronix.de \
--cc=wanpeng.li@hotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox