Function report | 
Source Code:kernel\stop_machine.c | 
Create Date:2022-07-28 11:21:00 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:cpu_stop_queue_two_works
Proto:static int cpu_stop_queue_two_works(int cpu1, struct cpu_stop_work *work1, int cpu2, struct cpu_stop_work *work2)
Type:int
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| int | cpu1 | |
| struct cpu_stop_work * | work1 | |
| int | cpu2 | |
| struct cpu_stop_work * | work2 | 
| 248 | stopper1 = per_cpu_ptr( & cpu_stopper, cpu1) | 
| 249 | stopper2 = per_cpu_ptr( & cpu_stopper, cpu2) | 
| 253 | retry : | 
| 262 | raw_spin_lock_irq( & lock) | 
| 265 | If Not s this stopper enabled? || Not s this stopper enabled? Then | 
| 285 | err = 0 | 
| 286 | __cpu_stop_queue_work(stopper1, work1, & wakeq) | 
| 287 | __cpu_stop_queue_work(stopper2, work2, & wakeq) | 
| 289 | unlock : | 
| 290 | raw_spin_unlock( & lock) | 
| 291 | raw_spin_unlock_irq( & lock) | 
| 293 | If Value for the false possibility is greater at compile time(err == - EDEADLK) Then | 
| 303 | preempt_enable() | 
| 305 | Return err | 
| Name | Describe | 
|---|---|
| stop_two_cpus | stop_two_cpus - stops two cpus*@cpu1: the cpu to stop*@cpu2: the other cpu to stop*@fn: function to execute*@arg: argument to @fn* Stops both the current and specified CPU and runs @fn on one of them.* returns when both are completed. | 
| 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  |