| Function report | 
| Source Code: kernel\workqueue.c | Create Date:2022-07-28 09:26:48 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:scuer_thread - the rescuer thread function*@__rescuer: self* Workqueue rescuer thread function
Proto:static int rescuer_thread(void *__rescuer)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| void * | __rescuer | 
| 2459 | wq = I: the workqueue to rescue | 
| 2460 | scheduled = L: scheduled works | 
| 2469 | set_pf_worker(true) | 
| 2470 | repeat : | 
| 2471 | set_current_state(TASK_IDLE) | 
| 2481 | should_stop = kthread_should_stop() | 
| 2484 | spin_lock_irq( & wq_mayday_lock) | 
| 2489 | pool = I: the associated pool | 
| 2491 | bool first = true | 
| 2496 | spin_unlock_irq( & wq_mayday_lock) | 
| 2500 | spin_lock_irq( & he pool lock ) | 
| 2508 | If get_work_pwq(work) == pwq Then | 
| 2509 | If first Then L: watchdog timestamp = jiffies | 
| 2513 | first = false | 
| 2516 | If Not list_empty - tests whether a list is empty*@head: the list to test. Then | 
| 2528 | If Do we need a new worker? Called from manager. Then | 
| 2556 | spin_unlock_irq( & he pool lock ) | 
| 2560 | spin_lock_irq( & wq_mayday_lock) | 
| 2563 | spin_unlock_irq( & wq_mayday_lock) | 
| 2565 | If should_stop Then | 
| 2567 | set_pf_worker(false) | 
| 2568 | Return 0 | 
| 2572 | WARN_ON_ONCE(!(X: flags & WORKER_NOT_RUNNING)) | 
| 2573 | schedule() | 
| 2574 | Go to repeat | 
| 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 |