Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

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 activityDownload SCCTChinese

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:

TypeParameterName
struct kioctx *ctx
unsignedhead
unsignedtail
962  head %= Size of ringbuffer, in units of struct io_event
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)
Caller
NameDescribe
user_refill_reqs_availableser_refill_reqs_available* Called to refill reqs_available when aio_get_req() encounters an* out of space in the completion ring.
aio_completeaio_complete* Called when the io request on the given iocb is complete.