From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Subject: Re: [PATCH V2 4/5] kvm/stats: Add provisioning for 64-bit vcpu statistics Date: Mon, 18 Jul 2016 09:17:58 +0200 Message-ID: <578C82A6.6090201@de.ibm.com> References: <1468220912-22828-1-git-send-email-sjitindarsingh@gmail.com> <1468220912-22828-4-git-send-email-sjitindarsingh@gmail.com> <9253603f-fbfb-09f1-9576-9291d1587397@redhat.com> <353f05d6-74a2-69c0-978d-7c3df6b33755@redhat.com> <578681D6.8070801@de.ibm.com> <46eaef93-af3a-4dbb-eb3e-df3d63b1eb1c@redhat.com> <57889634.9030302@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: linuxppc-dev@lists.ozlabs.org, kvm-ppc@vger.kernel.org, mpe@ellerman.id.au, paulus@samba.org, benh@kernel.crashing.org, kvm list , agraf@suse.com, =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= To: Suraj Jitindar Singh , Paolo Bonzini , David Matlack Return-path: Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:35272 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751531AbcGRHST (ORCPT ); Mon, 18 Jul 2016 03:18:19 -0400 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.11/8.16.0.11) with SMTP id u6I7DdY0018523 for ; Mon, 18 Jul 2016 03:18:18 -0400 Received: from e06smtp08.uk.ibm.com (e06smtp08.uk.ibm.com [195.75.94.104]) by mx0a-001b2d01.pphosted.com with ESMTP id 248ncnf2mk-1 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT) for ; Mon, 18 Jul 2016 03:18:17 -0400 Received: from localhost by e06smtp08.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 18 Jul 2016 08:18:15 +0100 In-Reply-To: <57889634.9030302@gmail.com> Sender: kvm-owner@vger.kernel.org List-ID: On 07/15/2016 09:52 AM, Suraj Jitindar Singh wrote: > > > On 14/07/16 19:42, Paolo Bonzini wrote: >> >> On 13/07/2016 20:00, Christian Borntraeger wrote: >>>>>>> I thought u64 still existed on 32-bit architectures. unsigned long >>>>>>> would be fine but with the caveat that certain stats would overflow on >>>>>>> 32-bit architectures. >>>>> Yes, but not all 32-bit architectures can do atomic read-modify-write >>>>> (e.g. add) operations on 64-bit values. >>> So what about only doing it for the VCPU events? Those should be only >>> modified by one CPU. We would have some odd values on 32bit overflow, but >>> this will be certainly better than just start with 0 >> If that's good enough for PPC, that's fine. >> >> Paolo > > I'm don't feel great about having vcpu_stats as u64 and vm_stats still as u32 > it's just a bit inconsistent. > > That being said, it's only the vcpu_stats which I require to be u64 at this > stage so it's possible to just upgrade those. Yes, its not nice, but we probably want to avoid the overhead of atomics. What about using u64 for vcpu_stats and unsigned long for vm_stats. This will be correct for anyone and on 64bit systems we get 64 bits for everything?