/linux-6.3-rc2/include/linux/ |
A 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; 421 extern int hrtimer_cancel(struct hrtimer *timer); 422 extern int hrtimer_try_to_cancel(struct hrtimer *timer); 438 static inline void hrtimer_restart(struct hrtimer *timer) in hrtimer_restart() 458 extern bool hrtimer_active(const struct hrtimer *timer); [all …]
|
/linux-6.3-rc2/include/trace/events/ |
A D | timer.h | 171 TP_PROTO(struct hrtimer *hrtimer, clockid_t clockid, 183 __entry->hrtimer = hrtimer; 200 TP_PROTO(struct hrtimer *hrtimer, enum hrtimer_mode mode), 213 __entry->hrtimer = hrtimer; 237 TP_PROTO(struct hrtimer *hrtimer, ktime_t *now), 248 __entry->hrtimer = hrtimer; 260 TP_PROTO(struct hrtimer *hrtimer), 269 __entry->hrtimer = hrtimer; 284 TP_PROTO(struct hrtimer *hrtimer), 286 TP_ARGS(hrtimer) [all …]
|
/linux-6.3-rc2/Documentation/translations/zh_CN/iio/ |
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.3-rc2/drivers/hwtracing/stm/ |
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() 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.3-rc2/kernel/time/ |
A D | hrtimer.c | 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() 503 const struct hrtimer *exclude, in __hrtimer_next_event_base() 512 struct hrtimer *timer; in __hrtimer_next_event_base() 572 struct hrtimer *next_timer = NULL; in __hrtimer_get_next_event() 656 struct hrtimer *next_timer, in __hrtimer_reprogram() 1438 int hrtimer_cancel(struct hrtimer *timer) in hrtimer_cancel() 1644 struct hrtimer *timer, ktime_t *now, in __run_hrtimer() 1730 struct hrtimer *timer; in __hrtimer_run_queues() [all …]
|
A D | tick-broadcast-hrtimer.c | 18 static struct hrtimer bctimer; 94 static enum hrtimer_restart bc_handler(struct hrtimer *t) in bc_handler()
|
/linux-6.3-rc2/arch/powerpc/kernel/ |
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_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.3-rc2/Documentation/iio/ |
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.3-rc2/Documentation/translations/zh_CN/admin-guide/ |
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.3-rc2/drivers/net/ethernet/marvell/octeontx2/af/ |
A 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()
|
A D | ptp.h | 20 struct hrtimer hrtimer; member
|
/linux-6.3-rc2/kernel/ |
A 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.3-rc2/sound/sh/ |
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() 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.3-rc2/drivers/net/wwan/iosm/ |
A 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.3-rc2/arch/arm/mach-imx/ |
A D | mmdc.c | 100 struct hrtimer hrtimer; member 338 hrtimer_start(&pmu_mmdc->hrtimer, mmdc_pmu_timer_period(), in mmdc_pmu_event_start() 406 hrtimer_cancel(&pmu_mmdc->hrtimer); in mmdc_pmu_event_del() 423 static enum hrtimer_restart mmdc_pmu_timer_handler(struct hrtimer *hrtimer) in mmdc_pmu_timer_handler() argument 425 struct mmdc_pmu *pmu_mmdc = container_of(hrtimer, struct mmdc_pmu, in mmdc_pmu_timer_handler() 426 hrtimer); in mmdc_pmu_timer_handler() 429 hrtimer_forward_now(hrtimer, mmdc_pmu_timer_period()); in mmdc_pmu_timer_handler() 509 hrtimer_init(&pmu_mmdc->hrtimer, CLOCK_MONOTONIC, in imx_mmdc_perf_init() 511 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.3-rc2/drivers/misc/ |
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() 86 struct hrtimer *vcpu_hrtimer = &vcpu_stall_detector->vcpu_hrtimer; in start_stall_detector_cpu()
|
/linux-6.3-rc2/drivers/watchdog/ |
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.3-rc2/drivers/perf/ |
A D | marvell_cn10k_ddr_pmu.c | 132 struct hrtimer hrtimer; member 453 hrtimer_start(&pmu->hrtimer, cn10k_ddr_pmu_timer_period(), in cn10k_ddr_perf_event_add() 510 hrtimer_cancel(&pmu->hrtimer); in cn10k_ddr_perf_event_del() 601 static enum hrtimer_restart cn10k_ddr_pmu_timer_handler(struct hrtimer *hrtimer) in cn10k_ddr_pmu_timer_handler() argument 603 struct cn10k_ddr_pmu *pmu = container_of(hrtimer, struct cn10k_ddr_pmu, in cn10k_ddr_pmu_timer_handler() 604 hrtimer); in cn10k_ddr_pmu_timer_handler() 611 hrtimer_forward_now(hrtimer, cn10k_ddr_pmu_timer_period()); in cn10k_ddr_pmu_timer_handler() 681 hrtimer_init(&ddr_pmu->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in cn10k_ddr_perf_probe() 682 ddr_pmu->hrtimer.function = cn10k_ddr_pmu_timer_handler; in cn10k_ddr_perf_probe()
|
/linux-6.3-rc2/include/kvm/ |
A D | arm_arch_timer.h | 33 struct hrtimer hrtimer; member 57 struct hrtimer bg_timer;
|
/linux-6.3-rc2/arch/x86/events/ |
A 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.3-rc2/drivers/infiniband/sw/rdmavt/ |
A D | trace_qp.h | 53 __field(void *, hrtimer) 60 __entry->hrtimer = &qp->s_rnr_timer; 68 __entry->hrtimer,
|
/linux-6.3-rc2/sound/core/ |
A D | Makefile | 32 snd-hrtimer-objs := hrtimer.o 43 obj-$(CONFIG_SND_HRTIMER) += snd-hrtimer.o
|
/linux-6.3-rc2/drivers/power/reset/ |
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()
|
/linux-6.3-rc2/Documentation/admin-guide/ |
A 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
|
/linux-6.3-rc2/drivers/net/ethernet/qualcomm/rmnet/ |
A D | rmnet_map_data.c | 571 static enum hrtimer_restart rmnet_map_flush_tx_packet_queue(struct hrtimer *t) in rmnet_map_flush_tx_packet_queue() 575 port = container_of(t, struct rmnet_port, hrtimer); in rmnet_map_flush_tx_packet_queue() 630 hrtimer_cancel(&port->hrtimer); in rmnet_map_tx_aggregate() 653 hrtimer_cancel(&port->hrtimer); in rmnet_map_tx_aggregate() 659 if (!hrtimer_active(&port->hrtimer) && port->agg_state != -EINPROGRESS) { in rmnet_map_tx_aggregate() 661 hrtimer_start(&port->hrtimer, in rmnet_map_tx_aggregate() 689 hrtimer_init(&port->hrtimer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in rmnet_map_tx_aggregate_init() 690 port->hrtimer.function = rmnet_map_flush_tx_packet_queue; in rmnet_map_tx_aggregate_init() 698 hrtimer_cancel(&port->hrtimer); in rmnet_map_tx_aggregate_exit()
|