From: Maxim Levitsky <mlevitsk@redhat.com> To: qemu-devel@nongnu.org Cc: Paolo Bonzini <pbonzini@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, kvm@vger.kernel.org, Richard Henderson <richard.henderson@linaro.org>, Cornelia Huck <cohuck@redhat.com>, Maxim Levitsky <mlevitsk@redhat.com> Subject: [PATCH v2 0/2] RFC: Precise TSC migration Date: Thu, 3 Dec 2020 19:15:44 +0200 [thread overview] Message-ID: <20201203171546.372686-1-mlevitsk@redhat.com> (raw) Note that to use this feature you need the kernel patches which are posted to LKML and kvm@vger.kernel.org The feature is disabled by default, and can be enabled with -accel kvm,x-precise-tsc=on. I changed the TSC and TSC adjust read/write code to go though a special function kvm_get_tsc/kvm_set_tsc regardless of enablement of this feature. The side effect of this is that now we upload to the kernel the TSC_ADJUST msr only on KVM_PUT_RESET_STATE reset level. This shouldn't matter as I don't think that qemu changes this msr on its own. For migration I added a new state field 'cpu/tsc_ns_timestamp', where I save the TSC nanosecond timestamp, which is the only new thing that was added to the migration state. First patch in this series is temporary and it just updates the kernel headers to make qemu compile. When the feature is merged to the kernel, a kernel header sync will bring the same changes to the qemu, making this patch unnecessary. V2: - switched to -accel for enablement - sync with updated kernel patches - minor cleanups, renames, etc Best regards, Maxim Levitsky Maxim Levitsky (2): Update the kernel headers for 5.10-rc5 + TSC Implement support for precise TSC migration accel/kvm/kvm-all.c | 28 ++++ include/standard-headers/asm-x86/kvm_para.h | 1 + include/sysemu/kvm.h | 1 + linux-headers/asm-x86/kvm.h | 2 + linux-headers/linux/kvm.h | 71 +++++++++- target/i386/cpu.h | 1 + target/i386/kvm.c | 140 ++++++++++++++++---- target/i386/machine.c | 19 +++ 8 files changed, 234 insertions(+), 29 deletions(-) -- 2.26.2
WARNING: multiple messages have this Message-ID (diff)
From: Maxim Levitsky <mlevitsk@redhat.com> To: qemu-devel@nongnu.org Cc: Cornelia Huck <cohuck@redhat.com>, Eduardo Habkost <ehabkost@redhat.com>, kvm@vger.kernel.org, "Michael S. Tsirkin" <mst@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Maxim Levitsky <mlevitsk@redhat.com>, Paolo Bonzini <pbonzini@redhat.com> Subject: [PATCH v2 0/2] RFC: Precise TSC migration Date: Thu, 3 Dec 2020 19:15:44 +0200 [thread overview] Message-ID: <20201203171546.372686-1-mlevitsk@redhat.com> (raw) Note that to use this feature you need the kernel patches which are posted to LKML and kvm@vger.kernel.org The feature is disabled by default, and can be enabled with -accel kvm,x-precise-tsc=on. I changed the TSC and TSC adjust read/write code to go though a special function kvm_get_tsc/kvm_set_tsc regardless of enablement of this feature. The side effect of this is that now we upload to the kernel the TSC_ADJUST msr only on KVM_PUT_RESET_STATE reset level. This shouldn't matter as I don't think that qemu changes this msr on its own. For migration I added a new state field 'cpu/tsc_ns_timestamp', where I save the TSC nanosecond timestamp, which is the only new thing that was added to the migration state. First patch in this series is temporary and it just updates the kernel headers to make qemu compile. When the feature is merged to the kernel, a kernel header sync will bring the same changes to the qemu, making this patch unnecessary. V2: - switched to -accel for enablement - sync with updated kernel patches - minor cleanups, renames, etc Best regards, Maxim Levitsky Maxim Levitsky (2): Update the kernel headers for 5.10-rc5 + TSC Implement support for precise TSC migration accel/kvm/kvm-all.c | 28 ++++ include/standard-headers/asm-x86/kvm_para.h | 1 + include/sysemu/kvm.h | 1 + linux-headers/asm-x86/kvm.h | 2 + linux-headers/linux/kvm.h | 71 +++++++++- target/i386/cpu.h | 1 + target/i386/kvm.c | 140 ++++++++++++++++---- target/i386/machine.c | 19 +++ 8 files changed, 234 insertions(+), 29 deletions(-) -- 2.26.2
next reply other threads:[~2020-12-03 17:17 UTC|newest] Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-12-03 17:15 Maxim Levitsky [this message] 2020-12-03 17:15 ` [PATCH v2 0/2] RFC: Precise TSC migration Maxim Levitsky 2020-12-03 17:15 ` [PATCH v2 1/2] Update the kernel headers for 5.10-rc5 + TSC Maxim Levitsky 2020-12-03 17:15 ` Maxim Levitsky 2020-12-03 17:15 ` [PATCH v2 2/2] Implement support for precise TSC migration Maxim Levitsky 2020-12-03 17:15 ` Maxim Levitsky
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201203171546.372686-1-mlevitsk@redhat.com \ --to=mlevitsk@redhat.com \ --cc=cohuck@redhat.com \ --cc=ehabkost@redhat.com \ --cc=kvm@vger.kernel.org \ --cc=mst@redhat.com \ --cc=mtosatti@redhat.com \ --cc=pbonzini@redhat.com \ --cc=qemu-devel@nongnu.org \ --cc=richard.henderson@linaro.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.