Lines Matching +full:de +full:- +full:serialized
1 // SPDX-License-Identifier: GPL-2.0-only
6 * Author: Arjan van de Ven <arjan@linux.intel.com>
16 decoupled and not strictly serialized.
21 have their externally visible parts happen sequentially and in-order.
22 (not unlike how out-of-order CPUs retire their instructions in order)
98 if (!list_empty(&domain->pending)) in lowest_in_progress()
99 first = list_first_entry(&domain->pending, in lowest_in_progress()
108 ret = first->cookie; in lowest_in_progress()
125 pr_debug("calling %lli_%pS @ %i\n", (long long)entry->cookie, in async_run_entry_fn()
126 entry->func, task_pid_nr(current)); in async_run_entry_fn()
129 entry->func(entry->data, entry->cookie); in async_run_entry_fn()
132 (long long)entry->cookie, entry->func, in async_run_entry_fn()
137 list_del_init(&entry->domain_list); in async_run_entry_fn()
138 list_del_init(&entry->global_list); in async_run_entry_fn()
158 INIT_LIST_HEAD(&entry->domain_list); in __async_schedule_node_domain()
159 INIT_LIST_HEAD(&entry->global_list); in __async_schedule_node_domain()
160 INIT_WORK(&entry->work, async_run_entry_fn); in __async_schedule_node_domain()
161 entry->func = func; in __async_schedule_node_domain()
162 entry->data = data; in __async_schedule_node_domain()
163 entry->domain = domain; in __async_schedule_node_domain()
168 newcookie = entry->cookie = next_cookie++; in __async_schedule_node_domain()
170 list_add_tail(&entry->domain_list, &domain->pending); in __async_schedule_node_domain()
171 if (domain->registered) in __async_schedule_node_domain()
172 list_add_tail(&entry->global_list, &async_global_pending); in __async_schedule_node_domain()
178 queue_work_node(node, async_wq, &entry->work); in __async_schedule_node_domain()
184 * async_schedule_node_domain - NUMA specific version of async_schedule_domain
194 * Note: This function may be called from atomic or non-atomic contexts.
207 /* allow irq-off callers */ in async_schedule_node_domain()
230 * async_schedule_node - NUMA specific version of async_schedule
236 * Note: This function may be called from atomic or non-atomic contexts.
249 * async_schedule_dev_nocall - A simplified variant of async_schedule_dev()
278 * async_synchronize_full - synchronize all asynchronous function calls
289 * async_synchronize_full_domain - synchronize all asynchronous function within a certain domain
302 …* async_synchronize_cookie_domain - synchronize asynchronous function calls within a certain domai…
325 * async_synchronize_cookie - synchronize asynchronous function calls with cookie checkpointing
338 * current_is_async - is %current an async worker task?
346 return worker && worker->current_func == async_run_entry_fn; in current_is_async()