Re: [kvm-devel] include files for kvmclock

2007-11-07 Thread Glauber de Oliveira Costa
-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

2007-11-07 Thread Akio Takebe
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

2007-11-06 Thread Jeremy Fitzhardinge
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

2007-11-06 Thread Glauber de Oliveira Costa
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

2007-11-06 Thread Glauber de Oliveira Costa
-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

2007-11-06 Thread Avi Kivity
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

2007-11-06 Thread Jeremy Fitzhardinge
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