From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takuya Yoshikawa Subject: Re: [PATCH RFC v2 6/6] KVM: introduce a new API for getting dirty bitmaps Date: Tue, 20 Apr 2010 20:44:50 +0900 Message-ID: <4BCD93B2.2040003@oss.ntt.co.jp> References: <20100420195349.dab60b1d.yoshikawa.takuya@oss.ntt.co.jp> <20100420200353.2d2a6dec.yoshikawa.takuya@oss.ntt.co.jp> <480E8E1E-32BD-429E-96C8-5AA69A8BDDF3@suse.de> <4BCD90FE.9060300@oss.ntt.co.jp> <04434D88-5274-43B7-B9B5-A2FE952A6CCE@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: avi@redhat.com, mtosatti@redhat.com, kvm@vger.kernel.org, kvm-ia64@vger.kernel.org, kvm-ppc@vger.kernel.org, fernando@oss.ntt.co.jp To: Alexander Graf Return-path: Received: from serv2.oss.ntt.co.jp ([222.151.198.100]:48507 "EHLO serv2.oss.ntt.co.jp" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753723Ab0DTLld (ORCPT ); Tue, 20 Apr 2010 07:41:33 -0400 In-Reply-To: <04434D88-5274-43B7-B9B5-A2FE952A6CCE@suse.de> Sender: kvm-owner@vger.kernel.org List-ID: (2010/04/20 20:33), Alexander Graf wrote: >>>> >>>> -#define KVM_API_VERSION 12 >>>> +#define KVM_API_VERSION 13 >>> >>> Is there a way to keep both interfaces around for some time at least? I'd prefer the API version not to change if not _really_ necessary. >>> >>> To enable the new dirty mapping you could for example use KVM_CAP_ENABLE_CAP :-). >> >> Thanks, I did not know what is the appropriate way for this kind of change. >> >> I just read the comments in the kvm.h and thought I had to update the number whenever >> I added some entries to kvm.h . > > The rule of thumb is: > > KVM_API_VERSION change -> complete breakage. No way to run older userspace on newer kernels. > new CAP -> optional feature > > If I read correctly you're changing quite a few existing interfaces, so old userspace wouldn't work anymore. Hence I'm proposing using activating the new way of dirty logging optionally. > > Alex > The fact is, I am trying to keep the existing interfaces completely(KVM_API_VERSION part is my mistake). For x86, I have checked that current qemu works without any change. I mean we can use get_dirty_log() as is. And as you propose, we can determine which api(swith_* or get_*) we use optionally.