| Function report | 
| Source Code: fs\io_uring.c | Create Date:2022-07-28 20:22:20 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:io_sq_offload_start
Proto:static int io_sq_offload_start(struct io_ring_ctx *ctx, struct io_uring_params *p)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct io_ring_ctx * | ctx | |
| struct io_uring_params * | p | 
| 4564 | init_waitqueue_head( & sqo_wait) | 
| 4568 | If flags & SQ poll thread Then | 
| 4570 | If Not Check operation authority Then Go to err | 
| 4574 | If Not sq_thread_idle Then sq_thread_idle = HZ | 
| 4577 | If flags & sq_thread_cpu is valid Then | 
| 4578 | cpu = sq_thread_cpu | 
| 4581 | If cpu >= Setup number of possible processor ids Then Go to err | 
| 4583 | If Not cpu_online(cpu) Then Go to err | 
| 4589 | Else | 
| 4590 | if using sq thread polling = Create kernel thread(io_sq_thread, ctx, "io_uring-sq") | 
| 4593 | If IS_ERR( if using sq thread polling ) Then | 
| 4594 | ret = PTR_ERR( if using sq thread polling ) | 
| 4595 | if using sq thread polling = NULL | 
| 4596 | Go to err | 
| 4599 | Else if flags & sq_thread_cpu is valid Then | 
| 4608 | get_work = io_get_work | 
| 4609 | put_work = io_put_work | 
| 4612 | concurrency = min - return minimum of two values of the same or compatible types*@x: first value*@y: second value(sq_entries, 4 * num_online_cpus()) | 
| 4613 | IO offload = io_wq_create(concurrency, & data) | 
| 4614 | If IS_ERR( IO offload ) Then | 
| 4620 | Return 0 | 
| 4621 | err : | 
| 4622 | io_finish_async(ctx) | 
| 4624 | sqo_mm = NULL | 
| 4625 | Return ret | 
| Name | Describe | 
|---|---|
| io_uring_create | 
| 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 |