| /linux/include/linux/ |
| H A D | hrtimer.h | 93 struct hrtimer timer; 97 static inline void hrtimer_set_expires(struct hrtimer *timer, ktime_t time) in hrtimer_set_expires() 103 static inline void hrtimer_set_expires_range(struct hrtimer *timer, ktime_t time, ktime_t delta) in hrtimer_set_expires_range() 109 static inline void hrtimer_set_expires_range_ns(struct hrtimer *timer, ktime_t time, u64 delta) in hrtimer_set_expires_range_ns() 115 static inline void hrtimer_set_expires_tv64(struct hrtimer *timer, s64 tv64) in hrtimer_set_expires_tv64() 121 static inline void hrtimer_add_expires(struct hrtimer *timer, ktime_t time) in hrtimer_add_expires() 127 static inline void hrtimer_add_expires_ns(struct hrtimer *timer, u64 ns) in hrtimer_add_expires_ns() 133 static inline ktime_t hrtimer_get_expires(const struct hrtimer *timer) in hrtimer_get_expires() 138 static inline ktime_t hrtimer_get_softexpires(const struct hrtimer *timer) in hrtimer_get_softexpires() 143 static inline s64 hrtimer_get_expires_tv64(const struct hrtimer *timer) in hrtimer_get_expires_tv64() [all …]
|
| H A D | hrtimer_defs.h | 51 struct hrtimer *running; 122 struct hrtimer *next_timer; 124 struct hrtimer *softirq_next_timer;
|
| H A D | hrtimer_types.h | 39 struct hrtimer { struct 42 enum hrtimer_restart (*__private function)(struct hrtimer *); argument
|
| /linux/include/trace/events/ |
| H A D | timer.h | 195 TP_PROTO(struct hrtimer *hrtimer, clockid_t clockid, 198 TP_ARGS(hrtimer, clockid, mode), 201 __field( void *, hrtimer ) 207 __entry->hrtimer = hrtimer; 212 TP_printk("hrtimer=%p clockid=%s mode=%s", __entry->hrtimer, 224 TP_PROTO(struct hrtimer *hrtimer, enum hrtimer_mode mode), 226 TP_ARGS(hrtimer, mode), 229 __field( void *, hrtimer ) 237 __entry->hrtimer = hrtimer; 238 __entry->function = ACCESS_PRIVATE(hrtimer, function); [all …]
|
| /linux/Documentation/translations/zh_CN/iio/ |
| H A D | iio_configfs.rst | 86 * hrtimer,使用高分辨率定时器作为中断源 91 加载iio-trig-hrtimer模块将注册hrtimer触发器类型,从而允许用户在 92 /config/iio/triggers/hrtimer下创建hrtimer触发器。 96 $ mkdir /config/iio/triggers/hrtimer/instance1 97 $ rmdir /config/iio/triggers/hrtimer/instance1 101 3.2 "hrtimer" 触发器类型属性 104 "hrtimer”触发器类型没有来自/config dir的任何可配置属性。
|
| /linux/kernel/time/ |
| H A D | hrtimer.c | 155 struct hrtimer_clock_base *lock_hrtimer_base(const struct hrtimer *timer, in lock_hrtimer_base() 188 static bool hrtimer_suitable_target(struct hrtimer *timer, struct hrtimer_clock_base *new_base, in hrtimer_suitable_target() 243 switch_hrtimer_base(struct hrtimer *timer, struct hrtimer_clock_base *base, in switch_hrtimer_base() 294 lock_hrtimer_base(const struct hrtimer *timer, unsigned long *flags) in lock_hrtimer_base() 362 return ACCESS_PRIVATE((struct hrtimer *)addr, function); in hrtimer_debug_hint() 371 struct hrtimer *timer = addr; in hrtimer_fixup_init() 405 struct hrtimer *timer = addr; in hrtimer_fixup_free() 425 static inline void debug_hrtimer_init(struct hrtimer *timer) in debug_hrtimer_init() 430 static inline void debug_hrtimer_init_on_stack(struct hrtimer *timer) in debug_hrtimer_init_on_stack() 435 static inline void debug_hrtimer_activate(struct hrtimer *timer, in debug_hrtimer_activate() [all …]
|
| /linux/drivers/hwtracing/stm/ |
| H A D | heartbeat.c | 26 struct hrtimer hrtimer; member 32 static enum hrtimer_restart stm_heartbeat_hrtimer_handler(struct hrtimer *hr) in stm_heartbeat_hrtimer_handler() 35 hrtimer); in stm_heartbeat_hrtimer_handler() 50 hrtimer_start(&heartbeat->hrtimer, ms_to_ktime(interval_ms), in stm_heartbeat_link() 62 hrtimer_cancel(&heartbeat->hrtimer); in stm_heartbeat_unlink() 84 hrtimer_setup(&stm_heartbeat[i].hrtimer, stm_heartbeat_hrtimer_handler, in stm_heartbeat_init()
|
| /linux/Documentation/iio/ |
| H A D | iio_configfs.rst | 82 * hrtimer, uses high resolution timers as interrupt source 87 Loading iio-trig-hrtimer module will register hrtimer trigger types allowing 88 users to create hrtimer triggers under /config/iio/triggers/hrtimer. 92 $ mkdir /config/iio/triggers/hrtimer/instance1 93 $ rmdir /config/iio/triggers/hrtimer/instance1 97 3.2 "hrtimer" trigger types attributes 100 "hrtimer" trigger type doesn't have any configurable attribute from /config dir.
|
| /linux/arch/powerpc/kernel/ |
| H A D | watchdog.c | 83 static DEFINE_PER_CPU(struct hrtimer, wd_hrtimer); 437 static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) in watchdog_timer_fn() argument 449 hrtimer_forward_now(hrtimer, ms_to_ktime(wd_timer_period_ms)); in watchdog_timer_fn() 473 struct hrtimer *hrtimer = this_cpu_ptr(&wd_hrtimer); in start_watchdog() local 498 hrtimer_setup(hrtimer, watchdog_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in start_watchdog() 499 hrtimer_start(hrtimer, ms_to_ktime(wd_timer_period_ms), in start_watchdog() 510 struct hrtimer *hrtimer = this_cpu_ptr(&wd_hrtimer); in stop_watchdog() local 517 hrtimer_cancel(hrtimer); in stop_watchdog()
|
| /linux/Documentation/translations/zh_CN/admin-guide/ |
| H A D | lockup-watchdogs.rst | 34 Softlockup和hardlockup分别建立在hrtimer(高精度定时器)和perf两个子系统上而实现。 39 为间隔周期产生以检测 hardlockups。如果一个CPU在这个时间段内没有检测到hrtimer中 45 "softlocup 检测器"(内部hrtimer定时器回调函数)会将相关的调试信息打印到系统日志中, 48 Hrtimer定时器的周期是2*watchdog_thresh/5,也就是说在hardlockup被触发前hrtimer有 51 如上所述,内核相当于为系统管理员提供了一个可调节hrtimer定时器和perf事件周期长度
|
| /linux/Documentation/translations/zh_TW/admin-guide/ |
| H A D | lockup-watchdogs.rst | 34 Softlockup和hardlockup分別建立在hrtimer(高精度定時器)和perf兩個子系統上而實現。 39 爲間隔週期產生以檢測 hardlockups。如果一個CPU在這個時間段內沒有檢測到hrtimer中 45 "softlocup 檢測器"(內部hrtimer定時器回調函數)會將相關的調試信息打印到系統日誌中, 48 Hrtimer定時器的週期是2*watchdog_thresh/5,也就是說在hardlockup被觸發前hrtimer有 51 如上所述,內核相當於爲系統管理員提供了一個可調節hrtimer定時器和perf事件週期長度
|
| /linux/lib/ |
| H A D | test_objpool.c | 56 unsigned long hrtimer; /* ms */ member 70 struct hrtimer hrtimer; member 156 static enum hrtimer_restart ot_hrtimer_handler(struct hrtimer *hrt) in ot_hrtimer_handler() 158 struct ot_item *item = container_of(hrt, struct ot_item, hrtimer); in ot_hrtimer_handler() 173 if (!item->test->hrtimer) in ot_start_hrtimer() 175 hrtimer_start(&item->hrtimer, item->hrtcycle, HRTIMER_MODE_REL); in ot_start_hrtimer() 180 if (!item->test->hrtimer) in ot_stop_hrtimer() 182 hrtimer_cancel(&item->hrtimer); in ot_stop_hrtimer() 185 static int ot_init_hrtimer(struct ot_item *item, unsigned long hrtimer) in ot_init_hrtimer() argument 187 struct hrtimer *hrt = &item->hrtimer; in ot_init_hrtimer() [all …]
|
| /linux/drivers/net/wwan/iosm/ |
| H A D | iosm_ipc_imem.h | 351 struct hrtimer startup_timer; 353 struct hrtimer tdupdate_timer; 354 struct hrtimer fast_update_timer; 355 struct hrtimer td_alloc_timer; 356 struct hrtimer adb_timer; 516 void ipc_imem_hrtimer_stop(struct hrtimer *hr_timer);
|
| /linux/sound/sh/ |
| H A D | sh_dac_audio.c | 41 struct hrtimer hrtimer; member 55 hrtimer_start(&chip->hrtimer, chip->wakeups_per_second, in dac_audio_start_timer() 61 hrtimer_cancel(&chip->hrtimer); in dac_audio_stop_timer() 262 static enum hrtimer_restart sh_dac_audio_timer(struct hrtimer *handle) in sh_dac_audio_timer() 265 hrtimer); in sh_dac_audio_timer() 289 hrtimer_start(&chip->hrtimer, chip->wakeups_per_second, in sh_dac_audio_timer() 315 hrtimer_setup(&chip->hrtimer, sh_dac_audio_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in snd_sh_dac_create()
|
| /linux/arch/arm/mach-imx/ |
| H A D | mmdc.c | 101 struct hrtimer hrtimer; member 339 hrtimer_start(&pmu_mmdc->hrtimer, mmdc_pmu_timer_period(), in mmdc_pmu_event_start() 407 hrtimer_cancel(&pmu_mmdc->hrtimer); in mmdc_pmu_event_del() 424 static enum hrtimer_restart mmdc_pmu_timer_handler(struct hrtimer *hrtimer) in mmdc_pmu_timer_handler() argument 426 struct mmdc_pmu *pmu_mmdc = container_of(hrtimer, struct mmdc_pmu, in mmdc_pmu_timer_handler() 427 hrtimer); in mmdc_pmu_timer_handler() 430 hrtimer_forward_now(hrtimer, mmdc_pmu_timer_period()); in mmdc_pmu_timer_handler() 512 hrtimer_setup(&pmu_mmdc->hrtimer, mmdc_pmu_timer_handler, CLOCK_MONOTONIC, in imx_mmdc_perf_init() 530 hrtimer_cancel(&pmu_mmdc->hrtimer); in imx_mmdc_perf_init()
|
| /linux/drivers/misc/ |
| H A D | vcpu_stall_detector.c | 43 struct hrtimer vcpu_hrtimer; 59 vcpu_stall_detect_timer_fn(struct hrtimer *hrtimer) in vcpu_stall_detect_timer_fn() argument 75 hrtimer_forward_now(hrtimer, in vcpu_stall_detect_timer_fn() 92 struct hrtimer *vcpu_hrtimer = &vcpu_stall_detector->vcpu_hrtimer; in start_stall_detector_cpu()
|
| /linux/drivers/net/ethernet/marvell/octeontx2/af/ |
| H A D | ptp.c | 116 static enum hrtimer_restart ptp_reset_thresh(struct hrtimer *hrtimer) in ptp_reset_thresh() argument 118 struct ptp *ptp = container_of(hrtimer, struct ptp, hrtimer); in ptp_reset_thresh() 138 hrtimer_forward_now(hrtimer, period_ns); in ptp_reset_thresh() 149 hrtimer_start(&ptp->hrtimer, period_ns, HRTIMER_MODE_REL); in ptp_hrtimer_start() 460 if (hrtimer_active(&ptp->hrtimer)) in ptp_config_hrtimer() 461 hrtimer_cancel(&ptp->hrtimer); in ptp_config_hrtimer() 548 hrtimer_setup(&ptp->hrtimer, ptp_reset_thresh, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in ptp_probe() 579 if (cn10k_ptp_errata(ptp) && hrtimer_active(&ptp->hrtimer)) in ptp_remove() 580 hrtimer_cancel(&ptp->hrtimer); in ptp_remove()
|
| /linux/arch/powerpc/perf/ |
| H A D | vpa-dtl.c | 288 static enum hrtimer_restart vpa_dtl_hrtimer_handle(struct hrtimer *hrtimer) in vpa_dtl_hrtimer_handle() argument 293 event = container_of(hrtimer, struct perf_event, hw.hrtimer); in vpa_dtl_hrtimer_handle() 300 hrtimer_forward_now(hrtimer, ns_to_ktime(period)); in vpa_dtl_hrtimer_handle() 311 hrtimer_start(&hwc->hrtimer, ns_to_ktime(period), HRTIMER_MODE_REL_PINNED); in vpa_dtl_start_hrtimer() 318 hrtimer_cancel(&hwc->hrtimer); in vpa_dtl_stop_hrtimer() 412 hrtimer_setup(&hwc->hrtimer, vpa_dtl_hrtimer_handle, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in vpa_dtl_event_init()
|
| /linux/drivers/watchdog/ |
| H A D | softdog.c | 64 static struct hrtimer softdog_ticktock; 65 static struct hrtimer softdog_preticktock; 78 static enum hrtimer_restart softdog_fire(struct hrtimer *timer) in softdog_fire() 126 static enum hrtimer_restart softdog_pretimeout(struct hrtimer *timer) in softdog_pretimeout()
|
| /linux/drivers/leds/trigger/ |
| H A D | ledtrig-pattern.c | 44 struct hrtimer hrtimer; member 85 hrtimer_start(&data->hrtimer, ns_to_ktime(0), HRTIMER_MODE_REL); in pattern_trig_timer_start() 95 hrtimer_cancel(&data->hrtimer); in pattern_trig_timer_cancel() 104 hrtimer_forward_now(&data->hrtimer, ms_to_ktime(interval)); in pattern_trig_timer_restart() 158 static enum hrtimer_restart pattern_trig_hrtimer_function(struct hrtimer *t) in pattern_trig_hrtimer_function() 161 container_of(t, struct pattern_trig_data, hrtimer); in pattern_trig_hrtimer_function() 486 hrtimer_setup(&data->hrtimer, pattern_trig_hrtimer_function, CLOCK_MONOTONIC, in pattern_trig_activate() 513 hrtimer_cancel(&data->hrtimer); in pattern_trig_deactivate()
|
| /linux/rust/kernel/time/ |
| H A D | hrtimer.rs | 89 timer: Opaque<bindings::hrtimer>, 110 timer <- Opaque::ffi_init(move |place: *mut bindings::hrtimer| { in new() 135 unsafe fn raw_get(this: *const Self) -> *mut bindings::hrtimer { in raw_get() argument 376 unsafe extern "C" fn run(this: *mut bindings::hrtimer) -> bindings::hrtimer_restart; in run() 467 unsafe fn c_timer_ptr(this: *const Self) -> *const bindings::hrtimer { in c_timer_ptr() argument 753 unsafe impl$(<$($generics)*>)? $crate::time::hrtimer::HasHrTimer<$timer_type> for $self { 759 ) -> *const $crate::time::hrtimer::HrTimer<$timer_type> { 766 ptr: *mut $crate::time::hrtimer::HrTimer<$timer_type>,
|
| /linux/kernel/ |
| H A D | watchdog.c | 368 static DEFINE_PER_CPU(struct hrtimer, watchdog_hrtimer); 744 static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) in watchdog_timer_fn() argument 772 hrtimer_forward_now(hrtimer, ns_to_ktime(sample_period)); in watchdog_timer_fn() 858 struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); in watchdog_enable() local 870 hrtimer_setup(hrtimer, watchdog_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); in watchdog_enable() 871 hrtimer_start(hrtimer, ns_to_ktime(sample_period), in watchdog_enable() 883 struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); in watchdog_disable() local 893 hrtimer_cancel(hrtimer); in watchdog_disable()
|
| /linux/drivers/media/platform/chips-media/wave5/ |
| H A D | wave5-vpu.c | 113 static enum hrtimer_restart wave5_vpu_timer_callback(struct hrtimer *timer) in wave5_vpu_timer_callback() 116 container_of(timer, struct vpu_device, hrtimer); in wave5_vpu_timer_callback() 165 hrtimer_cancel(&vpu->hrtimer); in wave5_pm_suspend() 185 if (vpu->irq < 0 && !hrtimer_active(&vpu->hrtimer)) in wave5_pm_resume() 186 hrtimer_start(&vpu->hrtimer, ns_to_ktime(vpu->vpu_poll_interval * NSEC_PER_MSEC), in wave5_pm_resume() 272 hrtimer_setup(&dev->hrtimer, &wave5_vpu_timer_callback, CLOCK_MONOTONIC, in wave5_vpu_probe() 356 hrtimer_cancel(&dev->hrtimer); in wave5_vpu_remove()
|
| /linux/drivers/infiniband/sw/rdmavt/ |
| H A D | trace_qp.h | 53 __field(void *, hrtimer) 60 __entry->hrtimer = &qp->s_rnr_timer; 68 __entry->hrtimer,
|
| /linux/drivers/power/reset/ |
| H A D | ltc2952-poweroff.c | 62 struct hrtimer timer_trigger; 63 struct hrtimer timer_wde; 95 static enum hrtimer_restart ltc2952_poweroff_timer_wde(struct hrtimer *timer) in ltc2952_poweroff_timer_wde() 117 ltc2952_poweroff_timer_trigger(struct hrtimer *timer) in ltc2952_poweroff_timer_trigger()
|