Function report |
Source Code:block\blk-iocost.c |
Create Date:2022-07-28 17:47:48 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:iocg_activate
Proto:static bool iocg_activate(struct ioc_gq *iocg, struct ioc_now *now)
Type:bool
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct ioc_gq * | iocg | |
| struct ioc_now * | now |
| 1038 | If Not list_empty - tests whether a list is empty*@head: the list to test. Then |
| 1040 | cur_period = atomic64_read( & c'd each period ) |
| 1043 | Return true |
| 1047 | If see __propagate_active_weight() and current_hweight() for details Then Return false |
| 1050 | spin_lock_irq( & lock) |
| 1055 | cur_period = atomic64_read( & c'd each period ) |
| 1056 | last_period = atomic64_read( & * The period this iocg was last active in. Used for deactivation * and invalidating `vtime`.) |
| 1057 | atomic64_set( & * The period this iocg was last active in. Used for deactivation * and invalidating `vtime`., cur_period) |
| 1060 | If Not list_empty - tests whether a list is empty*@head: the list to test. Then Go to succeed_unlock |
| 1062 | When i > 0 cycle If Not list_empty - tests whether a list is empty*@head: the list to test. Then |
| 1064 | Go to fail_unlock |
| 1066 | If see __propagate_active_weight() and current_hweight() for details Then Go to fail_unlock |
| 1080 | If last_period + max_period_delta < cur_period || time_before64(vtime, vmin) Then |
| 1083 | atomic64_add(vmin - vtime, & done_vtime) |
| 1092 | hweight_gen = atomic_read( & r lazy hweights ) - 1 |
| 1094 | propagate_active_weight(iocg, weight, last_inuse ? : weight) |
| 1097 | TRACE_IOCG_PATH(iocg_activate, iocg, now, last_period, cur_period, vtime) |
| 1100 | last_vtime = vtime |
| 1103 | running = IOC_RUNNING |
| 1104 | ioc_start_period(ioc, now) |
| 1107 | succeed_unlock : |
| 1108 | spin_unlock_irq( & lock) |
| 1109 | Return true |
| 1111 | fail_unlock : |
| 1112 | spin_unlock_irq( & lock) |
| 1113 | Return false |
| Name | Describe |
|---|---|
| ioc_rqos_throttle |
| 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 |