函数逻辑报告 |
Source Code:block\blk-iocost.c |
Create Date:2022-07-27 19:23:33 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:iocg_activate
函数原型:static bool iocg_activate(struct ioc_gq *iocg, struct ioc_now *now)
返回类型:bool
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct ioc_gq * | iocg | |
| struct ioc_now * | now |
| 1038 | 如果非链表为空则 |
| 1040 | cur_period等于atomic64_read( & c'd each period ) |
| 1043 | 返回:true |
| 1047 | 如果 see __propagate_active_weight() and current_hweight() for details 则返回: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 | 如果非链表为空则转到:succeed_unlock |
| 1064 | 转到:fail_unlock |
| 1080 | 如果last_period加max_period_delta小于cur_period或time_before64(vtime, vmin)则 |
| 1083 | atomic64_add(vmin - vtime, & done_vtime) |
| 1092 | hweight_gen等于atomic_read( & r lazy hweights )减1 |
| 1093 | 添加链表项 |
| 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 | 返回:true |
| 1111 | fail_unlock : |
| 1112 | spin_unlock_irq( & lock) |
| 1113 | 返回:false |
| 名称 | 描述 |
|---|---|
| ioc_rqos_throttle |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |