| /linux-6.15/include/linux/ |
| H A D | hrtimer.h | 93 struct hrtimer timer; 234 extern void hrtimer_setup(struct hrtimer *timer, enum hrtimer_restart (*function)(struct hrtimer *), 236 extern void hrtimer_setup_on_stack(struct hrtimer *timer, 237 enum hrtimer_restart (*function)(struct hrtimer *), 243 extern void destroy_hrtimer_on_stack(struct hrtimer *timer); 266 extern int hrtimer_cancel(struct hrtimer *timer); 267 extern int hrtimer_try_to_cancel(struct hrtimer *timer); 283 static inline void hrtimer_restart(struct hrtimer *timer) in hrtimer_restart() 303 extern bool hrtimer_active(const struct hrtimer *timer); 313 static inline bool hrtimer_is_queued(struct hrtimer *timer) in hrtimer_is_queued() [all …]
|
| H A D | hrtimer_defs.h | 52 struct hrtimer *running; 124 struct hrtimer *next_timer; 126 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-6.15/include/trace/events/ |
| H A D | timer.h | 195 TP_PROTO(struct hrtimer *hrtimer, clockid_t clockid, 207 __entry->hrtimer = hrtimer; 224 TP_PROTO(struct hrtimer *hrtimer, enum hrtimer_mode mode), 237 __entry->hrtimer = hrtimer; 261 TP_PROTO(struct hrtimer *hrtimer, ktime_t *now), 272 __entry->hrtimer = hrtimer; 284 TP_PROTO(struct hrtimer *hrtimer), 293 __entry->hrtimer = hrtimer; 308 TP_PROTO(struct hrtimer *hrtimer), 310 TP_ARGS(hrtimer) [all …]
|
| /linux-6.15/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-6.15/kernel/time/ |
| H A D | hrtimer.c | 378 struct hrtimer *timer = addr; in hrtimer_fixup_init() 412 struct hrtimer *timer = addr; in hrtimer_fixup_free() 512 const struct hrtimer *exclude, in __hrtimer_next_event_base() 521 struct hrtimer *timer; in __hrtimer_next_event_base() 581 struct hrtimer *next_timer = NULL; in __hrtimer_get_next_event() 660 struct hrtimer *next_timer, in __hrtimer_reprogram() 1483 int hrtimer_cancel(struct hrtimer *timer) in hrtimer_cancel() 1646 void hrtimer_setup(struct hrtimer *timer, enum hrtimer_restart (*function)(struct hrtimer *), in hrtimer_setup() argument 1720 struct hrtimer *timer, ktime_t *now, in __run_hrtimer() 1806 struct hrtimer *timer; in __hrtimer_run_queues() [all …]
|
| /linux-6.15/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-6.15/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-6.15/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-6.15/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-6.15/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-6.15/rust/kernel/time/ |
| H A D | hrtimer.rs | 84 timer: Opaque<bindings::hrtimer>, 105 timer <- Opaque::ffi_init(move |place: *mut bindings::hrtimer| { in new() 131 unsafe fn raw_get(this: *const Self) -> *mut bindings::hrtimer { in raw_get() argument 273 unsafe extern "C" fn run(this: *mut bindings::hrtimer) -> bindings::hrtimer_restart; in run() 353 unsafe fn c_timer_ptr(this: *const Self) -> *const bindings::hrtimer { in c_timer_ptr() argument 490 unsafe impl$(<$($generics)*>)? $crate::time::hrtimer::HasHrTimer<$timer_type> for $self { 495 ) -> *const $crate::time::hrtimer::HrTimer<$timer_type> { 502 ptr: *mut $crate::time::hrtimer::HrTimer<$timer_type>,
|
| /linux-6.15/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() 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() 187 struct hrtimer *hrt = &item->hrtimer; in ot_init_hrtimer() 189 if (!hrtimer) in ot_init_hrtimer() 192 item->hrtcycle = ktime_set(0, hrtimer * 1000000UL); in ot_init_hrtimer() [all …]
|
| /linux-6.15/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-6.15/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-6.15/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-6.15/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-6.15/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()
|
| H A D | ptp.h | 20 struct hrtimer hrtimer; member
|
| /linux-6.15/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-6.15/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-6.15/kernel/ |
| H A D | watchdog.c | 318 static DEFINE_PER_CPU(struct hrtimer, watchdog_hrtimer); 682 static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) in watchdog_timer_fn() argument 704 hrtimer_forward_now(hrtimer, ns_to_ktime(sample_period)); in watchdog_timer_fn() 786 struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); in watchdog_enable() local 798 hrtimer_setup(hrtimer, watchdog_timer_fn, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); in watchdog_enable() 799 hrtimer_start(hrtimer, ns_to_ktime(sample_period), in watchdog_enable() 811 struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); in watchdog_disable() local 821 hrtimer_cancel(hrtimer); in watchdog_disable()
|
| /linux-6.15/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-6.15/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-6.15/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()
|