Re: Questions about KVM TSC trapping

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David,

Sorry for late reply. See my inline comments.


On Tue, 15 Sep 2015, David Matlack wrote:

> On Tue, Sep 15, 2015 at 12:04 AM, Oliver Yang <yang_oliver@xxxxxxxxxxx> wrote:
> > Hi Guys,
> >
> > I found below patch for KVM TSC trapping / migration support,
> >
> > https://lkml.org/lkml/2011/1/6/90
> >
> > It seemed the patch were not merged in Linux mainline.
> >
> > So I have 3 questions here,
> >
> > 1.  Can KVM support TSC trapping today? If not, what is the plan?
> 
> Not without a patch. Did you want to trap RDTSC? RDTSC works without
> trapping thanks to hardware support.
In fact, I think TSC trap is the only way to make TSC sync in guest OS.

For exmaple, user space applications could use rdtsc directly, which
may cause the problem if there is no TSC emulation.
> 
> >
> > 2. What is the solution if my SMP Linux guest OS doesn't have reliable
> > TSC?
> 
> If you are seeing an unreliable TSC in your guest, maybe your host
> hardware does not support a synchronized TSC across CPUs. I can't
> recall how to check for this. There might be a flag in your host's
> /proc/cpuinfo.

Yes. I knew how to check the hardware capabilitiy.

My major question was whether KVM support TSC sync even running over
TSC unreliable hardware.
> 
> >
> > Because the no TSC trapping support, will kvmclock driver handle all
> > TSC sync issues?
> >
> > 3. What if my Linux guest doesn't have kvmclock driver?
> 
> The guest will use a different clock source (e.g. acpi-pm). Note the
> RDTSC[P] instruction will still work just fine.

The major problem is user application, as my application calls rstsc under
multi-thread environment.

> >
> > Does that mean I shouldn't run TSC sensitive application in my guest
> > OS?
> >
> > BTW, my application is written with lots of rdtsc instructions, and
> > which performs well in VMware guest.
> 
> Does it not work well in KVM?

Not quite sure. We plan to run our application over KVM.
VMware ESX5.x supported TSC sync even underlying hardware TSC reliable,
so I'm just wondering KVM cases.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux