lkml.org 
[lkml]   [2004]   [Sep]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [RFC][PATCH] new timeofday core subsystem (v.A0)
    On Thu, 2 Sep 2004, john stultz wrote:

    > +struct timesource_t {
    > + char* name;
    > + int priority;
    > + cycle_t (*read)(void);
    > + cycle_t (*delta)(cycle_t now, cycle_t then);
    > + nsec_t (*cyc2ns)(cycle_t cycles, cycle_t* remainder);
    > +};

    This is defining functions to be called for a timesource. Which means that
    the functionality for clock_gettime cannot be implemented as a fastcall
    anymore on IA64. The delta and the cyc2ns function are always the same.
    The compensation for jitter etc is always the same and can also be
    implemented generically.

    Could we change this to avoid the function calls.

    For example.

    struct timesource_t {
    char *name;
    int priority;
    int type;
    void *address;
    long long int frequency;
    }

    The functions are always

    delta = (now-then)
    cycle2ns = cycles * (NSEC_PER_SEC / frequency) + remainder

    types of time sources

    #define TIMESOURCE_CPU 0
    #define TIMESOURCE_MMIO32 1
    #define TIMESOURCE_MMIO64 2
    #define TIMESOURCE_FUNCTION 3 /* To catch odd cases */
    -
    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: 2005-03-22 14:05    [W:0.020 / U:59.500 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site