diff options
Diffstat (limited to 'include/linux/clocksource.h')
| -rw-r--r-- | include/linux/clocksource.h | 16 | 
1 files changed, 11 insertions, 5 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h index 7784b597e959..6013021a3b39 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h @@ -62,12 +62,18 @@ struct module;   * @suspend:		suspend function for the clocksource, if necessary   * @resume:		resume function for the clocksource, if necessary   * @owner:		module reference, must be set by clocksource in modules + * + * Note: This struct is not used in hotpathes of the timekeeping code + * because the timekeeper caches the hot path fields in its own data + * structure, so no line cache alignment is required, + * + * The pointer to the clocksource itself is handed to the read + * callback. If you need extra information there you can wrap struct + * clocksource into your own struct. Depending on the amount of + * information you need you should consider to cache line align that + * structure.   */  struct clocksource { -	/* -	 * Hotpath data, fits in a single cache line when the -	 * clocksource itself is cacheline aligned. -	 */  	cycle_t (*read)(struct clocksource *cs);  	cycle_t mask;  	u32 mult; @@ -95,7 +101,7 @@ struct clocksource {  	cycle_t wd_last;  #endif  	struct module *owner; -} ____cacheline_aligned; +};  /*   * Clock source flags bits::  | 
