Function report |
Source Code:fs\aio.c |
Create Date:2022-07-28 20:21:14 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| home page | Tree |
| Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:ll_reqs_available* Updates the reqs_available reference counts used for tracking the* number of free slots in the completion ring. This can be called* from aio_complete() (to optimistically update reqs_available) or
Proto:static void refill_reqs_available(struct kioctx *ctx, unsigned head, unsigned tail)
Type:void
Parameter:
| Type | Parameter | Name |
|---|---|---|
| struct kioctx * | ctx | |
| unsigned | head | |
| unsigned | tail |
| 963 | If head <= tail Then events_in_ring = tail - head |
| 965 | Else events_in_ring = Size of ringbuffer, in units of struct io_event - head - tail |
| 968 | completed = completed_events |
| 969 | If events_in_ring < completed Then completed -= events_in_ring |
| 971 | Else completed = 0 |
| 974 | If Not completed Then Return |
| 977 | completed_events -= completed |
| 978 | put_reqs_available(ctx, completed) |
| Name | Describe |
|---|---|
| user_refill_reqs_available | ser_refill_reqs_available* Called to refill reqs_available when aio_get_req() encounters an* out of space in the completion ring. |
| aio_complete | aio_complete* Called when the io request on the given iocb is complete. |
| 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 |