lkml.org 
[lkml]   [2007]   [Nov]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/3] include files for kvmclock
    Gerd Hoffmann wrote:
    >> +/*
    >> + * Guest has page alignment and padding requirements. At the host, it will
    >> + * only lead to wasted space at the vcpu struct. For this reason, the struct
    >> + * is not anonymous
    >> + */
    >> +union kvm_hv_clock {
    >> + struct kvm_hv_clock_s {
    >> + u64 tsc_mult;
    >> + u64 now_ns;
    >> + /* That's the wall clock, not the water closet */
    >> + u64 wc_sec;
    >> + 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;
    >> + } fields;
    >> + char page_align[PAGE_SIZE];
    >> +};
    >>
    >
    > What is the point in using a whole page per vcpu? You probably don't
    > want struct kvm_hv_clock_s cross a page border. Is that the only reason
    > or are there other constrains too?
    >

    We don't even have the cross-page-boundary constraint.

    The real issue is that on i386 physical addresses are 64-bit while
    hypercall arguments are 32-bit. A page frame number is 32-bit and so
    poses no issues.

    I see two workarounds for this:
    - make the first hypercall argument a u64 rather than a long (using two
    registers on i386)
    - use an msr for registering the clock address

    The first is more general, while the second has the nice property of
    taking care of live migration automatically.

    > As the kvm clock looks quite simliar to what xen does, how about making
    > the structs binary-compatible or simply reuse the xen version (struct
    > vcpu_time_info in xen/interface/xen.h)?
    >

    If there are no technical issues, I have no objections.

    --
    error compiling committee.c: too many arguments to function

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-11-11 10:19    [W:0.039 / U:59.228 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site