From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rik van Riel Subject: Re: [PATCH v5 3/3] sched/cputime: Add steal time support to full dynticks CPU time accounting Date: Wed, 08 Jun 2016 15:05:00 -0400 Message-ID: <1465412700.4639.10.camel@redhat.com> References: <1465355110-21714-1-git-send-email-wanpeng.li@hotmail.com> <1465355110-21714-3-git-send-email-wanpeng.li@hotmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-OhOcRbL2/sBouw5ZJZBz" Cc: Wanpeng Li , Ingo Molnar , "Peter Zijlstra (Intel)" , Thomas Gleixner , Frederic Weisbecker , Paolo Bonzini , Radim =?UTF-8?Q?Kr=C4=8Dm=C3=A1=C5=99?= To: Wanpeng Li , linux-kernel@vger.kernel.org, kvm@vger.kernel.org Return-path: In-Reply-To: <1465355110-21714-3-git-send-email-wanpeng.li@hotmail.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org --=-OhOcRbL2/sBouw5ZJZBz Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, 2016-06-08 at 11:05 +0800, Wanpeng Li wrote: >=C2=A0 > @@ -681,12 +681,17 @@ static cputime_t vtime_delta(struct task_struct > *tsk) > =C2=A0static cputime_t get_vtime_delta(struct task_struct *tsk) > =C2=A0{ > =C2=A0 unsigned long now =3D READ_ONCE(jiffies); > - unsigned long delta =3D now - tsk->vtime_snap; > + cputime_t delta_time, steal_time; > =C2=A0 > + steal_time =3D > jiffies_to_cputime(steal_account_process_tick()); > + delta_time =3D jiffies_to_cputime(now - tsk->vtime_snap); > =C2=A0 WARN_ON_ONCE(tsk->vtime_snap_whence =3D=3D VTIME_INACTIVE); > =C2=A0 tsk->vtime_snap =3D now; > =C2=A0 > - return jiffies_to_cputime(delta); > + if (steal_time < delta_time) > + delta_time -=3D steal_time; > + > + return delta_time; > =C2=A0} This isn't right. If steal_time is equal to or larger than delta_time, get_vtime_delta needs to return 0, not delta_time. Otherwise the same time will be counted twice. --=20 All rights reversed --=-OhOcRbL2/sBouw5ZJZBz Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAABCAAGBQJXWGxcAAoJEM553pKExN6DshUH+gJVLEYlCr4aLcCeZEHuUl2B s8ypEXOSoKN9aOWSSV22PZu7CamSt6zkg/h+rA94TrL6/fkCEkDFZEAd63HQQ9TZ gZAZB2lQOEODKZmF+QJZsOO/ojl79mdN5PGfBEC9qTWtcWJcTJt0k+RdRoH8o4X+ 7M5kKjMpYmDtdhTbpuj2ujxOIj6vHszRzsKX1KJ0rfD8chBnHHbxwggIBqeQvCfy QgSOJL834nerxIDQEoX+ogRWhChgcx1vpOO2ke58GOCBZxeaT1PNHG9DRtKWFGaR xZpur27/8pAyBXUbpIIp2OxhK7/jbelbTM1FajMmFF5nO4rzpmJgXRB9sOHpFsQ= =Kj85 -----END PGP SIGNATURE----- --=-OhOcRbL2/sBouw5ZJZBz--