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  |