函数逻辑报告 |
Source Code:kernel\futex.c |
Create Date:2022-07-27 11:54:07 |
Last Modify:2020-03-17 15:28:32 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:Wake up all waiters hashed on the physical page that is mapped* to this virtual address:
函数原型:static int futex_wake_op(unsigned int __user *uaddr1, unsigned int flags, unsigned int __user *uaddr2, int nr_wake, int nr_wake2, int op)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
unsigned int __user * | uaddr1 | |
unsigned int | flags | |
unsigned int __user * | uaddr2 | |
int | nr_wake | |
int | nr_wake2 | |
int | op |
1759 | key1等于FUTEX_KEY_INIT, key2等于FUTEX_KEY_INIT |
1765 | retry : |
1767 | 如果此条件成立可能性小(为编译器优化)(ret != 0)则转到:out |
1770 | 如果此条件成立可能性小(为编译器优化)(ret != 0)则转到:out_put_key1 |
1776 | retry_private : |
1778 | op_ret等于futex_atomic_op_inuser(op, uaddr2) |
1779 | 如果此条件成立可能性小(为编译器优化)(op_ret < 0)则 |
1780 | double_unlock_hb(hb1, hb2) |
1789 | 转到:out_put_keys |
1794 | 如果ret则转到:out_put_keys |
1799 | cond_resched() |
1800 | 转到:retry_private |
1803 | put_futex_key( & key2) |
1804 | put_futex_key( & key1) |
1805 | cond_resched() |
1806 | 转到:retry |
1821 | 如果op_ret大于0则 |
1837 | out_unlock : |
1838 | double_unlock_hb(hb1, hb2) |
1840 | out_put_keys : |
1841 | put_futex_key( & key2) |
1842 | out_put_key1 : |
1843 | put_futex_key( & key1) |
1844 | out : |
1845 | 返回:ret |
名称 | 描述 |
---|---|
do_futex |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |