函数逻辑报告 |
Source Code:kernel\rcu\srcutree.c |
Create Date:2022-07-27 11:19:12 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:Enqueue an SRCU callback on the srcu_data structure associated with* the current CPU and the specified srcu_struct structure, initiating* grace-period processing if it is not already running
函数原型:static void __call_srcu(struct srcu_struct *ssp, struct callback_head *rhp, rcu_callback_t func, bool do_norm)
返回类型:void
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct srcu_struct * | ssp | |
| struct callback_head * | rhp | |
| rcu_callback_t | func | |
| bool | do_norm |
| 840 | bool needexp = false |
| 841 | bool needgp = false |
| 849 | WARN_ONCE(1, "call_srcu(): Leaked duplicate callback\n") |
| 850 | 返回 |
| 854 | local_irq_save(flags) |
| 855 | sdp等于this_cpu_ptr(sda) |
| 857 | rcu_segcblist_enqueue( & srcu_cblist, rhp, false) |
| 862 | 如果ULONG_CMP_LT(srcu_gp_seq_needed, s)则 |
| 863 | srcu_gp_seq_needed等于s |
| 864 | needgp = true |
| 866 | 如果非do_norm且ULONG_CMP_LT(srcu_gp_seq_needed_exp, s)则 |
| 867 | srcu_gp_seq_needed_exp等于s |
| 868 | needexp = true |
| 875 | 注销过期读锁 |
| 名称 | 描述 |
|---|---|
| call_srcu | all_srcu() - Queue a callback for invocation after an SRCU grace period*@ssp: srcu_struct in queue the callback*@rhp: structure to be used for queueing the SRCU callback |
| __synchronize_srcu | Helper function for synchronize_srcu() and synchronize_srcu_expedited(). |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |