Function report |
Source Code:kernel\futex.c |
Create Date:2022-07-28 10:54:04 |
Last Modify:2020-03-17 15:28:32 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:Wake up all waiters hashed on the physical page that is mapped* to this virtual address:
Proto:static int futex_wake_op(unsigned int __user *uaddr1, unsigned int flags, unsigned int __user *uaddr2, int nr_wake, int nr_wake2, int op)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
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 | If Value for the false possibility is greater at compile time(ret != 0) Then Go to out |
1770 | If Value for the false possibility is greater at compile time(ret != 0) Then Go to out_put_key1 |
1776 | retry_private : |
1778 | op_ret = futex_atomic_op_inuser(op, uaddr2) |
1779 | If Value for the false possibility is greater at compile time(op_ret < 0) Then |
1780 | double_unlock_hb(hb1, hb2) |
1789 | Go to out_put_keys |
1794 | If ret Then Go to out_put_keys |
1798 | If Not (flags & Futex flags used to encode options to functions and preserve them across* restarts.) Then |
1799 | cond_resched() |
1800 | Go to retry_private |
1803 | put_futex_key( & key2) |
1804 | put_futex_key( & key1) |
1805 | cond_resched() |
1806 | Go to retry |
1813 | Go to out_unlock |
1821 | If op_ret > 0 Then |
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 | Return ret |
Name | Describe |
---|---|
do_futex |
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 |