From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH kvm-kmod] adjust timekeeping compatibility code Date: Tue, 30 Sep 2014 10:48:39 +0200 Message-ID: <542A6E67.3070107@siemens.com> References: <1411460559-8160-1-git-send-email-pbonzini@redhat.com> <542A61AA.4030908@siemens.com> <542A6D2E.5090900@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit To: Paolo Bonzini , kvm@vger.kernel.org Return-path: Received: from thoth.sbs.de ([192.35.17.2]:36980 "EHLO thoth.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751017AbaI3Isp (ORCPT ); Tue, 30 Sep 2014 04:48:45 -0400 In-Reply-To: <542A6D2E.5090900@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 2014-09-30 10:43, Paolo Bonzini wrote: > Il 30/09/2014 09:54, Jan Kiszka ha scritto: >>>> kvm_get_xtime_nsec could overflow. If we make kvm_get_boot_base_ns >>>> compute the equivalent of 3.17's base_mono+offs_boot formula (instead of >>>> just offs_boot), we can avoid that and drop kvm_get_xtime_nsec altogether. >> Applied, thanks. >> >> Any suggestions how to deal with "kvm: Fix page ageing bugs"? > > If you mean the new MMU notifier API, probably something like this: > > diff --git a/sync b/sync > index 8b63ca7..fff85f3 100755 > --- a/sync > +++ b/sync > @@ -310,6 +310,22 @@ def hack_content(fname, data): > else: > w(sub(r'tkr\.', '', line)) > line = '#endif' > + if match_block_end('^static int kvm_mmu_notifier_clear_flush_young', '^}'): > + w(line) > + w('#if LINUX_VERSION_CODE < KERNEL_VERSION(3,18,0)') > + w('static int kvm_mmu_notifier_clear_flush_young(struct mmu_notifier *mn,') > + w(' struct mm_struct *mm,') > + w(' unsigned long hva)') > + w('{') > + w('\treturn __kvm_mmu_notifier_clear_flush_young(mn, mm, hva, hva+1);') Ah, end=start+1, it's that easy! > + w('}') > + line = '#endif' > + if match(r'^static int kvm_mmu_notifier_clear_flush_young'): > + w('#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,18,0)') > + w(line) > + w('#else') > + w(sub('kvm_', '__kvm_', line)) > + line = '#endif' > if line == '#ifdef CONFIG_KEXEC': > line = '#if defined(CONFIG_KEXEC) && LINUX_VERSION_CODE >= KERNEL_VERSION(3,8,0)' > if line == '\tif (!cpu_has_vmx_apicv())': > > (Not tested beyond compilation). Will check. Thanks, Jan -- Siemens AG, Corporate Technology, CT RTC ITP SES-DE Corporate Competence Center Embedded Linux