Re: [kvm-devel] include files for kvmclock
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Jeremy Fitzhardinge escreveu: Avi Kivity wrote: Glauber de Oliveira Costa wrote: +union kvm_hv_clock { + struct { + u64 tsc_mult; + u64 now_ns; + /* That's the wall clock, not the water closet */ + u64 wc_sec; + u64 wc_nsec; Do we really need 128-bit time? you must be planning to live forever. Well, he's planning on having lots of very small nanoseconds. J The wc_nsec is legacy, and should be gone. It's not really used in current code. However, you gave me a very good idea. Living forever would be awesome! Where can I apply ? -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Remi - http://enigmail.mozdev.org iD8DBQFHMbRfjYI8LaFUWXMRAjsQAJ4vDBW0M48fMaL9sl6XfN0+Pd82egCgutwe 9rR7+H8MUQznyinlJc76kbo= =b3wx -END PGP SIGNATURE- - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel
Re: [kvm-devel] include files for kvmclock
Hi, Why does kvm_hv_clock need page_align? Each vcpu will register a page on its own. In the guest side, it will be an array of pages. So, we make it page sized. And also the kvm_hv_clock is alloced with kvm_vcpu, There's no requirements on the host part at all. So it doesn't really matter. In the next version, I may make it even a simple pointer. so the align is not enough, isn't it? I thik __atribute__((__aligne__(PAGE_SIZE is better than it. It deals with the start of the structure, but not with its size. See the guest part: Where it matters, I do use it. Oh, I confused the guest/host part, but I could understand it. Thank you for your explanation. Best Regards, Akio Takebe - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel
Re: [kvm-devel] include files for kvmclock
Glauber de Oliveira Costa wrote: This patch introduces the include files for kvm clock. They'll be needed for both guest and host part. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- include/asm-x86/kvm_para.h | 23 +++ include/linux/kvm.h|1 + include/linux/kvm_para.h | 20 3 files changed, 44 insertions(+), 0 deletions(-) diff --git a/include/asm-x86/kvm_para.h b/include/asm-x86/kvm_para.h index c6f3fd8..af9fb75 100644 --- a/include/asm-x86/kvm_para.h +++ b/include/asm-x86/kvm_para.h @@ -10,15 +10,38 @@ * paravirtualization, the appropriate feature bit should be checked. */ #define KVM_CPUID_FEATURES 0x4001 +#define KVM_FEATURE_CLOCKEVENTS 0 +#define KVM_FEATURE_CLOCKSOURCE 1 + #ifdef __KERNEL__ #include asm/processor.h +extern void kvmclock_init(void); + +union kvm_hv_clock { Why two copies of this structure? + struct { + u64 tsc_mult; + u64 now_ns; + /* That's the wall clock, not the water closet */ + u64 wc_sec; + u64 wc_nsec; + u64 last_tsc; + /* At first, we could use the tsc value as a marker, but Jeremy + * well noted that it will cause us locking problems in 32-bit + * sys, so we have a special version field */ + u32 version; + }; + char page_align[PAGE_SIZE]; +}; + [...] + +union kvm_hv_clock { + struct { + u64 tsc_mult; + u64 now_ns; + /* That's the wall clock, not the water closet */ + u64 wc_sec; + u64 wc_nsec; + u64 last_tsc; + /* At first, we could use the tsc value as a marker, but Jeremy + * well noted that it will cause us locking problems in 32-bit + * sys, so we have a special version field */ + u32 version; + }; + char page_align[PAGE_SIZE]; +}; + /* * hypercalls use architecture specific */ - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel
Re: [kvm-devel] include files for kvmclock
On 11/6/07, Glauber de Oliveira Costa [EMAIL PROTECTED] wrote: This patch introduces the include files for kvm clock. They'll be needed for both guest and host part. And of course, this was my test files by mistake ;-) Oh god... ;-) Patches aren't numbered but this one should go first. And please just ignore, the replica of the hv_clock union definition in the patch bellow. It should all go in asm/kvm_para.h The other two patches are fine, and can be applied in any order, so it's not worth resending. I'll grab your comments first. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- include/asm-x86/kvm_para.h | 23 +++ include/linux/kvm.h|1 + include/linux/kvm_para.h | 20 3 files changed, 44 insertions(+), 0 deletions(-) diff --git a/include/asm-x86/kvm_para.h b/include/asm-x86/kvm_para.h index c6f3fd8..af9fb75 100644 --- a/include/asm-x86/kvm_para.h +++ b/include/asm-x86/kvm_para.h @@ -10,15 +10,38 @@ * paravirtualization, the appropriate feature bit should be checked. */ #define KVM_CPUID_FEATURES 0x4001 +#define KVM_FEATURE_CLOCKEVENTS 0 +#define KVM_FEATURE_CLOCKSOURCE 1 + #ifdef __KERNEL__ #include asm/processor.h +extern void kvmclock_init(void); + +union kvm_hv_clock { + struct { + u64 tsc_mult; + u64 now_ns; + /* That's the wall clock, not the water closet */ + u64 wc_sec; + u64 wc_nsec; + u64 last_tsc; + /* At first, we could use the tsc value as a marker, but Jeremy +* well noted that it will cause us locking problems in 32-bit +* sys, so we have a special version field */ + u32 version; + }; + char page_align[PAGE_SIZE]; +}; + /* This instruction is vmcall. On non-VT architectures, it will generate a * trap that we will then rewrite to the appropriate instruction. */ #define KVM_HYPERCALL .byte 0x0f,0x01,0xc1 +#define KVM_HCALL_REGISTER_CLOCK 1 + /* For KVM hypercalls, a three-byte sequence of either the vmrun or the vmmrun * instruction. The hypervisor may replace it with something else but only the * instructions are guaranteed to be supported. diff --git a/include/linux/kvm.h b/include/linux/kvm.h index 71d33d6..7ac8786 100644 --- a/include/linux/kvm.h +++ b/include/linux/kvm.h @@ -359,6 +359,7 @@ struct kvm_signal_mask { #define KVM_CAP_MMU_SHADOW_CACHE_CONTROL 2 #define KVM_CAP_USER_MEMORY 3 #define KVM_CAP_SET_TSS_ADDR 4 +#define KVM_CAP_CLK 5 /* * ioctls for VM fds diff --git a/include/linux/kvm_para.h b/include/linux/kvm_para.h index e4db25f..567a192 100644 --- a/include/linux/kvm_para.h +++ b/include/linux/kvm_para.h @@ -11,8 +11,28 @@ /* Return values for hypercalls */ #define KVM_ENOSYS 1000 +#define KVM_ENODEV 1019 +#define KVM_EINVAL 1022 #ifdef __KERNEL__ +#define KVM_HCALL_REGISTER_CLOCK 1 + +union kvm_hv_clock { + struct { + u64 tsc_mult; + u64 now_ns; + /* That's the wall clock, not the water closet */ + u64 wc_sec; + u64 wc_nsec; + u64 last_tsc; + /* At first, we could use the tsc value as a marker, but Jeremy +* well noted that it will cause us locking problems in 32-bit +* sys, so we have a special version field */ + u32 version; + }; + char page_align[PAGE_SIZE]; +}; + /* * hypercalls use architecture specific */ -- 1.5.0.6 - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel -- Glauber de Oliveira Costa. Free as in Freedom http://glommer.net The less confident you are, the more serious you have to act. - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel
Re: [kvm-devel] include files for kvmclock
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Jeremy Fitzhardinge escreveu: Glauber de Oliveira Costa wrote: This patch introduces the include files for kvm clock. They'll be needed for both guest and host part. Signed-off-by: Glauber de Oliveira Costa [EMAIL PROTECTED] --- include/asm-x86/kvm_para.h | 23 +++ include/linux/kvm.h|1 + include/linux/kvm_para.h | 20 3 files changed, 44 insertions(+), 0 deletions(-) diff --git a/include/asm-x86/kvm_para.h b/include/asm-x86/kvm_para.h index c6f3fd8..af9fb75 100644 --- a/include/asm-x86/kvm_para.h +++ b/include/asm-x86/kvm_para.h @@ -10,15 +10,38 @@ * paravirtualization, the appropriate feature bit should be checked. */ #define KVM_CPUID_FEATURES 0x4001 +#define KVM_FEATURE_CLOCKEVENTS 0 +#define KVM_FEATURE_CLOCKSOURCE 1 + #ifdef __KERNEL__ #include asm/processor.h +extern void kvmclock_init(void); + +union kvm_hv_clock { Why two copies of this structure? It's called silly mistake. ;-) -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Remi - http://enigmail.mozdev.org iD8DBQFHMPGvjYI8LaFUWXMRAgt2AJ9NKgq2LCueUidH56ZgUYA+5wBhGwCfdqQB otFP1/SFowaANQ8FojEtJUE= =8Xqp -END PGP SIGNATURE- - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel
Re: [kvm-devel] include files for kvmclock
Glauber de Oliveira Costa wrote: +union kvm_hv_clock { + struct { + u64 tsc_mult; + u64 now_ns; + /* That's the wall clock, not the water closet */ + u64 wc_sec; + u64 wc_nsec; Do we really need 128-bit time? you must be planning to live forever. -- Do not meddle in the internals of kernels, for they are subtle and quick to panic. - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel
Re: [kvm-devel] include files for kvmclock
Avi Kivity wrote: Glauber de Oliveira Costa wrote: +union kvm_hv_clock { + struct { + u64 tsc_mult; + u64 now_ns; + /* That's the wall clock, not the water closet */ + u64 wc_sec; + u64 wc_nsec; Do we really need 128-bit time? you must be planning to live forever. Well, he's planning on having lots of very small nanoseconds. J - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now http://get.splunk.com/ ___ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel