/linux-6.1.9/include/linux/ |
D | hrtimer.h | 118 struct hrtimer { struct 121 enum hrtimer_restart (*function)(struct hrtimer *); argument 137 struct hrtimer timer; argument 164 struct hrtimer *running; 234 struct hrtimer *next_timer; 236 struct hrtimer *softirq_next_timer; 240 static inline void hrtimer_set_expires(struct hrtimer *timer, ktime_t time) in hrtimer_set_expires() 246 static inline void hrtimer_set_expires_range(struct hrtimer *timer, ktime_t time, ktime_t delta) in hrtimer_set_expires_range() 252 static inline void hrtimer_set_expires_range_ns(struct hrtimer *timer, ktime_t time, u64 delta) in hrtimer_set_expires_range_ns() 258 static inline void hrtimer_set_expires_tv64(struct hrtimer *timer, s64 tv64) in hrtimer_set_expires_tv64() [all …]
|
/linux-6.1.9/include/trace/events/ |
D | timer.h | 171 TP_PROTO(struct hrtimer *hrtimer, clockid_t clockid, 174 TP_ARGS(hrtimer, clockid, mode), 177 __field( void *, hrtimer ) 183 __entry->hrtimer = hrtimer; 188 TP_printk("hrtimer=%p clockid=%s mode=%s", __entry->hrtimer, 200 TP_PROTO(struct hrtimer *hrtimer, enum hrtimer_mode mode), 202 TP_ARGS(hrtimer, mode), 205 __field( void *, hrtimer ) 213 __entry->hrtimer = hrtimer; 214 __entry->function = hrtimer->function; [all …]
|
/linux-6.1.9/Documentation/translations/zh_CN/iio/ |
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.1.9/drivers/hwtracing/stm/ |
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() 83 hrtimer_init(&stm_heartbeat[i].hrtimer, CLOCK_MONOTONIC, in stm_heartbeat_init() 85 stm_heartbeat[i].hrtimer.function = in stm_heartbeat_init()
|
/linux-6.1.9/kernel/time/ |
D | hrtimer.c | 165 struct hrtimer_clock_base *lock_hrtimer_base(const struct hrtimer *timer, in lock_hrtimer_base() 193 hrtimer_check_target(struct hrtimer *timer, struct hrtimer_clock_base *new_base) in hrtimer_check_target() 225 switch_hrtimer_base(struct hrtimer *timer, struct hrtimer_clock_base *base, in switch_hrtimer_base() 282 lock_hrtimer_base(const struct hrtimer *timer, unsigned long *flags) in lock_hrtimer_base() 349 return ((struct hrtimer *) addr)->function; in hrtimer_debug_hint() 358 struct hrtimer *timer = addr; in hrtimer_fixup_init() 392 struct hrtimer *timer = addr; in hrtimer_fixup_free() 412 static inline void debug_hrtimer_init(struct hrtimer *timer) in debug_hrtimer_init() 417 static inline void debug_hrtimer_activate(struct hrtimer *timer, in debug_hrtimer_activate() 423 static inline void debug_hrtimer_deactivate(struct hrtimer *timer) in debug_hrtimer_deactivate() [all …]
|
D | tick-broadcast-hrtimer.c | 18 static struct hrtimer bctimer; 99 static enum hrtimer_restart bc_handler(struct hrtimer *t) in bc_handler()
|
/linux-6.1.9/arch/powerpc/kernel/ |
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_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in start_watchdog() 499 hrtimer->function = watchdog_timer_fn; in start_watchdog() 500 hrtimer_start(hrtimer, ms_to_ktime(wd_timer_period_ms), in start_watchdog() 511 struct hrtimer *hrtimer = this_cpu_ptr(&wd_hrtimer); in stop_watchdog() local 518 hrtimer_cancel(hrtimer); in stop_watchdog()
|
/linux-6.1.9/Documentation/iio/ |
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.1.9/Documentation/translations/zh_CN/admin-guide/ |
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.1.9/drivers/net/ethernet/marvell/octeontx2/af/ |
D | ptp.c | 88 static enum hrtimer_restart ptp_reset_thresh(struct hrtimer *hrtimer) in ptp_reset_thresh() argument 90 struct ptp *ptp = container_of(hrtimer, struct ptp, hrtimer); in ptp_reset_thresh() 110 hrtimer_forward_now(hrtimer, period_ns); in ptp_reset_thresh() 121 hrtimer_start(&ptp->hrtimer, period_ns, HRTIMER_MODE_REL); in ptp_hrtimer_start() 380 if (hrtimer_active(&ptp->hrtimer)) in ptp_extts_on() 381 hrtimer_cancel(&ptp->hrtimer); in ptp_extts_on() 424 hrtimer_init(&ptp->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in ptp_probe() 425 ptp->hrtimer.function = ptp_reset_thresh; in ptp_probe() 452 if (cn10k_ptp_errata(ptp) && hrtimer_active(&ptp->hrtimer)) in ptp_remove() 453 hrtimer_cancel(&ptp->hrtimer); in ptp_remove()
|
D | ptp.h | 20 struct hrtimer hrtimer; member
|
/linux-6.1.9/kernel/ |
D | watchdog.c | 180 static DEFINE_PER_CPU(struct hrtimer, watchdog_hrtimer); 354 static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) in watchdog_timer_fn() argument 376 hrtimer_forward_now(hrtimer, ns_to_ktime(sample_period)); in watchdog_timer_fn() 452 struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); in watchdog_enable() local 464 hrtimer_init(hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL_HARD); in watchdog_enable() 465 hrtimer->function = watchdog_timer_fn; in watchdog_enable() 466 hrtimer_start(hrtimer, ns_to_ktime(sample_period), in watchdog_enable() 478 struct hrtimer *hrtimer = this_cpu_ptr(&watchdog_hrtimer); in watchdog_disable() local 488 hrtimer_cancel(hrtimer); in watchdog_disable()
|
/linux-6.1.9/sound/sh/ |
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() 283 static enum hrtimer_restart sh_dac_audio_timer(struct hrtimer *handle) in sh_dac_audio_timer() 286 hrtimer); in sh_dac_audio_timer() 310 hrtimer_start(&chip->hrtimer, chip->wakeups_per_second, in sh_dac_audio_timer() 336 hrtimer_init(&chip->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in snd_sh_dac_create() 337 chip->hrtimer.function = sh_dac_audio_timer; in snd_sh_dac_create()
|
/linux-6.1.9/drivers/net/wwan/iosm/ |
D | iosm_ipc_imem.h | 364 struct hrtimer startup_timer; 366 struct hrtimer tdupdate_timer; 367 struct hrtimer fast_update_timer; 368 struct hrtimer td_alloc_timer; 369 struct hrtimer adb_timer; 529 void ipc_imem_hrtimer_stop(struct hrtimer *hr_timer);
|
/linux-6.1.9/arch/arm/mach-imx/ |
D | mmdc.c | 100 struct hrtimer hrtimer; member 337 hrtimer_start(&pmu_mmdc->hrtimer, mmdc_pmu_timer_period(), in mmdc_pmu_event_start() 405 hrtimer_cancel(&pmu_mmdc->hrtimer); in mmdc_pmu_event_del() 422 static enum hrtimer_restart mmdc_pmu_timer_handler(struct hrtimer *hrtimer) in mmdc_pmu_timer_handler() argument 424 struct mmdc_pmu *pmu_mmdc = container_of(hrtimer, struct mmdc_pmu, in mmdc_pmu_timer_handler() 425 hrtimer); in mmdc_pmu_timer_handler() 428 hrtimer_forward_now(hrtimer, mmdc_pmu_timer_period()); in mmdc_pmu_timer_handler() 510 hrtimer_init(&pmu_mmdc->hrtimer, CLOCK_MONOTONIC, in imx_mmdc_perf_init() 512 pmu_mmdc->hrtimer.function = mmdc_pmu_timer_handler; in imx_mmdc_perf_init() 529 hrtimer_cancel(&pmu_mmdc->hrtimer); in imx_mmdc_perf_init()
|
/linux-6.1.9/drivers/misc/ |
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() 86 struct hrtimer *vcpu_hrtimer = &vcpu_stall_detector->vcpu_hrtimer; in start_stall_detector_cpu()
|
/linux-6.1.9/drivers/watchdog/ |
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()
|
D | watchdog_core.h | 48 struct hrtimer timer; 51 struct hrtimer pretimeout_timer;
|
/linux-6.1.9/drivers/perf/ |
D | marvell_cn10k_ddr_pmu.c | 131 struct hrtimer hrtimer; member 452 hrtimer_start(&pmu->hrtimer, cn10k_ddr_pmu_timer_period(), in cn10k_ddr_perf_event_add() 509 hrtimer_cancel(&pmu->hrtimer); in cn10k_ddr_perf_event_del() 600 static enum hrtimer_restart cn10k_ddr_pmu_timer_handler(struct hrtimer *hrtimer) in cn10k_ddr_pmu_timer_handler() argument 602 struct cn10k_ddr_pmu *pmu = container_of(hrtimer, struct cn10k_ddr_pmu, in cn10k_ddr_pmu_timer_handler() 603 hrtimer); in cn10k_ddr_pmu_timer_handler() 610 hrtimer_forward_now(hrtimer, cn10k_ddr_pmu_timer_period()); in cn10k_ddr_pmu_timer_handler() 680 hrtimer_init(&ddr_pmu->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in cn10k_ddr_perf_probe() 681 ddr_pmu->hrtimer.function = cn10k_ddr_pmu_timer_handler; in cn10k_ddr_perf_probe()
|
/linux-6.1.9/include/kvm/ |
D | arm_arch_timer.h | 33 struct hrtimer hrtimer; member 57 struct hrtimer bg_timer;
|
/linux-6.1.9/arch/x86/events/ |
D | rapl.c | 112 struct hrtimer hrtimer; member 212 hrtimer_start(&pmu->hrtimer, pmu->timer_interval, in rapl_start_hrtimer() 216 static enum hrtimer_restart rapl_hrtimer_handle(struct hrtimer *hrtimer) in rapl_hrtimer_handle() argument 218 struct rapl_pmu *pmu = container_of(hrtimer, struct rapl_pmu, hrtimer); in rapl_hrtimer_handle() 232 hrtimer_forward_now(hrtimer, pmu->timer_interval); in rapl_hrtimer_handle() 239 struct hrtimer *hr = &pmu->hrtimer; in rapl_hrtimer_init() 285 hrtimer_cancel(&pmu->hrtimer); in rapl_pmu_event_stop()
|
/linux-6.1.9/sound/core/ |
D | Makefile | 32 snd-hrtimer-objs := hrtimer.o 43 obj-$(CONFIG_SND_HRTIMER) += snd-hrtimer.o
|
/linux-6.1.9/drivers/infiniband/sw/rdmavt/ |
D | trace_qp.h | 53 __field(void *, hrtimer) 60 __entry->hrtimer = &qp->s_rnr_timer; 68 __entry->hrtimer,
|
/linux-6.1.9/drivers/power/reset/ |
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()
|
/linux-6.1.9/Documentation/admin-guide/ |
D | lockup-watchdogs.rst | 36 The soft and hard lockup detectors are built on top of the hrtimer and 41 A periodic hrtimer runs to generate interrupts and kick the watchdog 45 does not receive any hrtimer interrupt during that time the 53 'softlockup detector' (coded inside the hrtimer callback function) 58 The period of the hrtimer is 2*watchdog_thresh/5, which means it has 63 administrators to configure the period of the hrtimer and the perf
|