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 |