Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\workqueue.c Create Date:2022-07-28 09:26:10
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:pwq_dec_nr_in_flight - decrement pwq's nr_in_flight*@pwq: pwq of interest*@color: color of work which left the queue* A work either has completed or is removed from pending queue,* decrement nr_in_flight of its pwq and handle workqueue flushing.* CONTEXT:

Proto:static void pwq_dec_nr_in_flight(struct pool_workqueue *pwq, int color)

Type:void

Parameter:

TypeParameterName
struct pool_workqueue *pwq
intcolor
1169  If color == WORK_NO_COLOR Then Go to out_put
1172  nr_in_flight[color]--
1174  L: nr of active works --
1175  If Not list_empty - tests whether a list is empty*@head: the list to test. Then
1177  If L: nr of active works < L: max active works Then pwq_activate_first_delayed(pwq)
1182  If Value is more likely to compile time(L: flushing color != color) Then Go to out_put
1186  If nr_in_flight[color] Then Go to out_put
1190  L: flushing color = -1
1196  If atomic_dec_and_test( & nr_pwqs_to_flush) Then complete( & done)
1198  out_put :
1199  put_pwq - put a pool_workqueue reference*@pwq: pool_workqueue to put* Drop a reference of @pwq. If its refcnt reaches zero, schedule its* destruction. The caller should be holding the matching pool->lock.
Caller
NameDescribe
try_to_grab_pendingry_to_grab_pending - steal work item from worklist and disable irq*@work: work item to steal*@is_dwork: @work is a delayed_work*@flags: place to store irq state* Try to grab PENDING bit of @work. This function can handle @work in any
process_one_workprocess_one_work - process single work*@worker: self*@work: work to process* Process @work