函数逻辑报告 |
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 插件可实现:逻辑报告 代码生成和批量转换代码 |