Lines Matching full:running
196 /* Ensure we are not running, or start_exclusive will be blocked. */ in start_exclusive()
197 g_assert(!current_cpu->running); in start_exclusive()
210 /* Write pending_cpus before reading other_cpu->running. */ in start_exclusive()
214 if (qatomic_read(&other_cpu->running)) { in start_exclusive()
251 qatomic_set(&cpu->running, true); in cpu_exec_start()
253 /* Write cpu->running before reading pending_cpus. */ in cpu_exec_start()
256 /* 1. start_exclusive saw cpu->running == true and pending_cpus >= 1. in cpu_exec_start()
261 * 2. start_exclusive saw cpu->running == false but pending_cpus >= 1. in cpu_exec_start()
262 * This includes the case when an exclusive item is running now. in cpu_exec_start()
267 * see cpu->running == true, and it will kick the CPU. in cpu_exec_start()
273 * run. Since we have the lock, just set cpu->running to true in cpu_exec_start()
276 qatomic_set(&cpu->running, false); in cpu_exec_start()
279 qatomic_set(&cpu->running, true); in cpu_exec_start()
291 qatomic_set(&cpu->running, false); in cpu_exec_end()
293 /* Write cpu->running before reading pending_cpus. */ in cpu_exec_end()
296 /* 1. start_exclusive saw cpu->running == true. Then it will increment in cpu_exec_end()
300 * 2. start_exclusive saw cpu->running == false but here pending_cpus >= 1. in cpu_exec_end()
302 * cpu->running to false and before we read pending_cpus. Then we'll see in cpu_exec_end()
308 * see cpu->running == false, and it can ignore this CPU until the in cpu_exec_end()
362 /* Running work items outside the BQL avoids the following deadlock: in process_queued_cpu_work()
364 * CPU is running; 2) cpu_exec in the other CPU tries to takes the in process_queued_cpu_work()