From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49321) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZLTHl-0008K1-Qj for qemu-devel@nongnu.org; Sat, 01 Aug 2015 05:40:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZLTHg-0000zH-Sc for qemu-devel@nongnu.org; Sat, 01 Aug 2015 05:40:57 -0400 Received: from mail-wi0-x235.google.com ([2a00:1450:400c:c05::235]:34800) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZLTHg-0000z7-LK for qemu-devel@nongnu.org; Sat, 01 Aug 2015 05:40:52 -0400 Received: by wibud3 with SMTP id ud3so83061707wib.1 for ; Sat, 01 Aug 2015 02:40:50 -0700 (PDT) Sender: Paolo Bonzini References: <1435855010-30882-1-git-send-email-jjherne@linux.vnet.ibm.com> <1435855010-30882-2-git-send-email-jjherne@linux.vnet.ibm.com> <55956A2E.4020806@redhat.com> <55A3CEAF.6030504@linux.vnet.ibm.com> <55A3D5D8.7070902@redhat.com> <55A654D6.5000906@linux.vnet.ibm.com> <55A657ED.3070407@redhat.com> <55A7BDF4.4020509@linux.vnet.ibm.com> <55B0BAE6.3040504@redhat.com> <55BBAC8F.6030604@linux.vnet.ibm.com> <55BBAD5D.4090807@redhat.com> <55BBB38A.4060807@linux.vnet.ibm.com> <55BBBA4B.5070806@linux.vnet.ibm.com> From: Paolo Bonzini Message-ID: <55BC941F.2010906@redhat.com> Date: Sat, 1 Aug 2015 11:40:47 +0200 MIME-Version: 1.0 In-Reply-To: <55BBBA4B.5070806@linux.vnet.ibm.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v4 1/5] cpu: Provide vcpu throttling interface List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: jjherne@linux.vnet.ibm.com, afaerber@suse.de, amit.shah@redhat.com, dgilbert@redhat.com, borntraeger@de.ibm.com, quintela@redhat.com, qemu-devel@nongnu.org On 31/07/2015 20:11, Jason J. Herne wrote: >>> >> >> Doh! Yep :). This problem is an artifact of moving the timer_mod from >> cpu_throttle_thread into cpu_throttle_timer_tick. I'll have to go back >> to the review comments and look at why that was done. > > So, we made that change in v3 to eliminate the per cpu timer. With a per > cpu timer we avoid this problem and we no longer need to worry about > a throttle_thread_scheduled, and timers stacking. Paolo, you had originally > argued in favor of this change. With what we know now, do you still think > having only a single timer is best? Or should I switch back to a timer per > cpu? With a timer per cpu we can simply reset the timer immediately after > the sleep. It's okay to have a single timer, only the formulas have to be corrected: either you remove the pct/(1-pct) from the callback or you add a /(1-pct) to the timer_mod. Paolo