[lkml]   [2007]   [Oct]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectWhats the purpose of get_cycles_sync()

    I would like to answer what the special purpose of the get_cycles_sync()
    function is in the x86 architecture. In special I ask myself why
    this function has to be *sync*?

    I mean, the sync should guarantee here that the CPU does not execute the
    RDTSC instruction out-of-order, thats clear. But does that really
    matter? If there is a cache/tlb miss before the function returns all
    accuracy that should be won by the synchronous RDTSC is lost anyway.

    The problem here is, that this function executes CPUID if RDTSC itself
    is not a synchronizing instruction and CPUID is very often intercepted
    by hypervisors (KVM intercepts it for example). This makes this function
    very expensive if the kernel is executed as a guest.

    But maybe I miss some important things here.


    | AMD Saxony Limited Liability Company & Co. KG
    Operating | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
    System | Register Court Dresden: HRA 4896
    Research | General Partner authorized to represent:
    Center | AMD Saxony LLC (Wilmington, Delaware, US)
    | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2007-10-30 18:49    [W:0.026 / U:58.900 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site