Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:fs\io-wq.c Create Date:2022-07-28 20:22:40
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:io_wqe_worker

Proto:static int io_wqe_worker(void *data)

Type:int

Parameter:

TypeParameterName
void *data
520  worker = data
521  wqe = wqe
522  wq = wq
525  io_worker_start(wqe, worker)
527  did_work = false
528  When Not st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from cycle
529  set_current_state(TASK_INTERRUPTIBLE)
530  loop :
531  If did_work Then io_worker_spin_for_work(wqe)
533  spin_lock_irq( & lock)
534  If io_wqe_run_queue(wqe) Then
537  did_work = true
538  Go to loop
540  did_work = false
543  __release( & lock)
544  Go to loop
546  spin_unlock_irq( & lock)
547  If signal_pending(current process) Then Flush all pending signals for this kthread.
549  If schedule_timeout - sleep until timeout*@timeout: timeout value in jiffies* Make the current task sleep until @timeout jiffies have* elapsed Then Continue
552  If st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from || Not (flags & IO_WORKER_F_FIXED) Then Break
557  If st_bit - Determine whether a bit is set*@nr: bit number to test*@addr: Address to start counting from Then
558  spin_lock_irq( & lock)
559  If Not wq_list_empty( & work_list) Then io_worker_handle_work(worker)
561  Else spin_unlock_irq( & lock)
565  io_worker_exit(worker)
566  Return 0