Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\irq\timings.c Create Date:2022-07-28 10:12:18
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:__irq_timings_next_event

Proto:static u64 __irq_timings_next_event(struct irqt_stat *irqs, int irq, u64 now)

Type:u64

Parameter:

TypeParameterName
struct irqt_stat *irqs
intirq
u64now
384  min = INT_MAX
386  If now - last_ts >= NSEC_PER_SEC Then
387  count = last_ts = 0
388  Return U64_MAX
396  period_max = If count > 3 * PREDICTION_PERIOD_MAX Then PREDICTION_PERIOD_MAX Else count / 3
403  If period_max <= PREDICTION_PERIOD_MIN Then Return U64_MAX
409  count = If count < IRQ_TIMINGS_SIZE Then count Else IRQ_TIMINGS_SIZE
412  start = If count < IRQ_TIMINGS_SIZE Then 0 Else count & IRQ_TIMINGS_MASK
421  When i < count cycle
422  index = start + i & IRQ_TIMINGS_MASK
424  timings[i] = circ_timings[index]
425  min = min_t - return minimum of two values, using the specified type*@type: data type to use*@x: first value*@y: second value(int, timings[i], min)
428  index = irq_timings_next_event_index(timings, count, period_max)
429  If index < 0 Then Return last_ts + ema_time[min]
432  Return last_ts + ema_time[index]
Caller
NameDescribe
irq_timings_next_eventq_timings_next_event - Return when the next event is supposed to arrive* During the last busy cycle, the number of interrupts is incremented* and stored in the irq_timings structure