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 |