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 |