Function report |
Source Code:kernel\sched\rt.c |
Create Date:2022-07-28 09:39:14 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:do_sched_rt_period_timer
Proto:static int do_sched_rt_period_timer(struct rt_bandwidth *rt_b, int overrun)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct rt_bandwidth * | rt_b | |
int | overrun |
817 | span = sched_rt_period_mask() |
832 | enqueue = 0 |
833 | rt_rq = sched_rt_period_rt_rq(rt_b, i) |
834 | rq = rq_of_rt_rq(rt_rq) |
841 | raw_spin_lock( & Nests inside the rq lock: ) |
842 | If Not sched_feat(RT_RUNTIME_SHARE) && rt_runtime != Single value that denotes runtime == period, ie unlimited time. Then rt_runtime = rt_runtime |
844 | skip = Not rt_time && Not rt_nr_running |
845 | raw_spin_unlock( & Nests inside the rq lock: ) |
846 | If skip Then Continue |
849 | raw_spin_lock( & runqueue lock: ) |
850 | update_rq_clock(rq) |
852 | If rt_time Then |
855 | raw_spin_lock( & Nests inside the rq lock: ) |
856 | If rt_throttled Then balance_runtime(rt_rq) |
858 | runtime = rt_runtime |
859 | rt_time -= min - return minimum of two values of the same or compatible types*@x: first value*@y: second value(rt_time, overrun * runtime) |
860 | If rt_throttled && rt_time < runtime Then |
861 | rt_throttled = 0 |
862 | enqueue = 1 |
874 | If rt_time || rt_nr_running Then idle = 0 |
876 | raw_spin_unlock( & Nests inside the rq lock: ) |
877 | Else if rt_nr_running Then |
878 | idle = 0 |
879 | If Not rt_rq_throttled(rt_rq) Then enqueue = 1 |
882 | If rt_throttled Then throttled = 1 |
885 | If enqueue Then sched_rt_rq_enqueue(rt_rq) |
887 | raw_spin_unlock( & runqueue lock: ) |
890 | If Not throttled && ( Not rt_bandwidth_enabled() || rt_runtime == Single value that denotes runtime == period, ie unlimited time. ) Then Return 1 |
893 | Return idle |
Name | Describe |
---|---|
sched_rt_period_timer |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |