Function report |
Source Code:kernel\sched\psi.c |
Create Date:2022-07-28 09:46:53 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:psi_trigger_create
Proto:struct *psi_trigger_create(struct psi_group *group, char *buf, size_t nbytes, enum psi_res res)
Type:struct
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct psi_group * | group | |
| char * | buf | |
| size_t | nbytes | |
| enum psi_res | res |
| 1015 | If static_branch_likely( & psi_disabled) Then Return ERR_PTR( - EOPNOTSUPP) |
| 1018 | If sscanf - Unformat a buffer into a list of arguments*@buf: input buffer*@fmt: formatting of buffer*@...: resulting arguments == 2 Then state = PSI_IO_SOME + res * 2 |
| 1020 | Else if sscanf - Unformat a buffer into a list of arguments*@buf: input buffer*@fmt: formatting of buffer*@...: resulting arguments == 2 Then state = PSI_IO_FULL + res * 2 |
| 1025 | If state >= PSI_NONIDLE Then Return ERR_PTR( - EINVAL) |
| 1028 | If window_us < Min window size is 500ms || window_us > Max window size is 10s Then Return ERR_PTR( - EINVAL) |
| 1033 | If threshold_us == 0 || threshold_us > window_us Then Return ERR_PTR( - EINVAL) |
| 1036 | t = Allocation memory |
| 1042 | threshold = threshold_us * NSEC_PER_USEC |
| 1043 | size = window_us * NSEC_PER_USEC |
| 1046 | event = 0 |
| 1047 | last_event_time = 0 |
| 1048 | init_waitqueue_head( & event_wait) |
| 1051 | mutex_lock( & trigger_lock) |
| 1054 | struct sched_param param = {sched_priority = 1, } |
| 1059 | kworker = kthread_create_worker - create a kthread worker*@flags: flags modifying the default behavior of the worker*@namefmt: printf-style name for the kthread worker (task) |
| 1062 | mutex_unlock( & trigger_lock) |
| 1066 | kthread_init_delayed_work( & poll_work, psi_poll_work) |
| 1074 | nr_triggers[state]++ |
| 1075 | poll_states |= 1 << state |
| 1077 | mutex_unlock( & trigger_lock) |
| 1079 | Return t |
| Name | Describe |
|---|---|
| psi_write |
| 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 |