From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christian Borntraeger Date: Mon, 18 Jul 2016 07:17:58 +0000 Subject: Re: [PATCH V2 4/5] kvm/stats: Add provisioning for 64-bit vcpu statistics Message-Id: <578C82A6.6090201@de.ibm.com> List-Id: 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> In-Reply-To: <57889634.9030302@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Suraj Jitindar Singh , Paolo Bonzini , David Matlack 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?= 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?