zephyr/include
Guennadi Liakhovetski 56610bdafb p4wq: fix races when handling work items
Work items in P4WQ currently belong to the user before submission
and after exit from the handler, therefore, unless the handler
re-submits the item, accessing it in p4wq_loop() in such cases
is racy. To fix this we re-define work item ownership. Now the
item belongs to the P4WQ core until the user calls
k_p4wq_wait(). If the work item has its .sync flag set, the
function will sleep until the handler completes processing the
work item or until the timeout expires. If .sync isn't set and
the handler hasn't processed the item yet, the function returns
-EBUSY.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2021-05-03 17:13:01 -04:00
..
app_memory arm/arm64: Make ARM64 a standalone architecture 2021-03-31 10:34:33 -05:00
arch arm64: FPU context switching support 2021-05-03 11:56:50 +02:00
audio audio: dmic: fix compile error on arm gcc 8 2021-02-16 15:29:16 +03:00
bluetooth Bluetooth: ISO: Improved text for setting ISO data paths 2021-05-03 11:59:25 +02:00
canbus canbus: isotp: add fixed addressing feature 2021-04-06 16:44:34 -04:00
console
crypto
data
debug
devicetree devicetree: spi: clean up DT_SPI_DEV_CS_GPIOS_CTLR 2021-03-30 07:06:48 -05:00
dfu
disk include: disk_access: Add a compat warning 2021-03-26 08:59:47 -04:00
display
drivers include/drivers/clock_control: stm32: Bits for H7 dts clock config 2021-05-03 10:56:05 +02:00
dt-bindings adc: Move ADC acquisition time macros 2021-04-29 09:50:18 -04:00
fs include/fs: fixed typo in fs_file_t_init() description 2021-02-05 07:32:20 -05:00
ipc
kernel kernel: mmu: collect more demand paging statistics 2021-04-06 16:43:55 -04:00
linker kernel: generate placeholders for kobj tables before final build 2021-04-27 13:32:00 -04:00
logging logging: add support for dictionary based logging 2021-04-28 22:25:42 +02:00
lorawan lorawan: port oriented downlink callbacks 2021-04-30 13:05:10 -05:00
mgmt include: Move ec_host_cmd.h to mgmt/ec_host_cmd.h 2021-04-22 12:51:16 -04:00
modbus modbus: add raw ADU support 2021-03-19 15:50:21 +01:00
net net: lwm2m: Add API function to delete object instance 2021-04-29 09:51:54 -04:00
portability portability: move cmsis api headers 2021-04-20 08:45:05 -04:00
posix sys: eventfd: Add locking to eventfd_read/write functions 2021-04-15 07:16:51 -05:00
power power: provide old reboot header for compatibility 2021-04-28 20:34:00 -04:00
random
settings
shell shell: Add support for logging v2 2021-04-19 10:59:23 -04:00
stats
storage storage/stream: Add persistent write progress to stream_flash 2021-04-23 15:01:32 -05:00
sys p4wq: fix races when handling work items 2021-05-03 17:13:01 -04:00
task_wdt task_wdt: add task-level watchdog subsystem 2021-03-15 12:24:54 +01:00
timing timing: guard the header with CONFIG_TIMING_FUNCTIONS 2021-04-06 16:43:55 -04:00
toolchain toolchain: add llvm abstraction 2021-04-22 07:42:58 -04:00
tracing tracing: remove cpu_stats in favor of thread runtime stats 2021-04-16 15:31:24 -04:00
usb usb: dfu: give wait_for_usb_dfu an argument 2021-03-22 12:55:56 +01:00
zephyr zephyr: Remove support for deprecated int types 2021-03-05 04:56:13 -06:00
cache.h
device.h pm: deprecate device_pm_control_nop 2021-04-28 20:40:00 -04:00
devicetree.h devicetree: Add DT_FOREACH_CHILD_STATUS_OKAY macro 2021-04-27 13:32:55 -04:00
ec_host_cmd.h include: Move ec_host_cmd.h to mgmt/ec_host_cmd.h 2021-04-22 12:51:16 -04:00
emul.h include: Move emul.h to drivers/emul.h 2021-04-22 12:51:01 -04:00
exc_handle.h
fatal.h
generated_dts_board.h license: add missing SPDX headers 2021-02-11 08:05:16 -05:00
init.h init: tweak Zephyr .init* section name conflicting with toolchain 2021-04-26 14:15:43 -04:00
irq_nextlevel.h
irq_offload.h irq_offload: Remove ifdef from the api 2021-04-29 14:50:35 +02:00
irq.h irq: document requirement that irq_lock/unlock provides a memory barrier 2021-01-26 13:42:17 -05:00
kernel_includes.h
kernel_structs.h kernel: add an architecture specific structs header 2021-04-21 09:03:47 -04:00
kernel_version.h
kernel.h smp: add a Kconfig option to delay booting secondary CPUs 2021-05-03 17:13:01 -04:00
mempool_heap.h
ptp_clock.h include: Move ptp_clock.h to drivers/ptp_clock.h 2021-03-25 10:09:33 +02:00
sched_priq.h
shared_irq.h drivers: intc: shared_irq: remove internal structs from header 2021-04-13 13:03:33 -04:00
spinlock.h kernel: fix usage of KERNEL_COHERENCE macro 2021-02-03 10:42:04 -05:00
sw_isr_table.h
sys_clock.h kernel: remove tickless idle 2021-03-19 11:22:17 -04:00
syscall_handler.h
syscall.h userspace: rename _is_user_context -> k_is_user_context 2021-04-01 05:34:17 -04:00
timeout_q.h kernel/arch: cleanup function definitions 2021-04-01 05:34:17 -04:00
toolchain.h toolchain: add llvm abstraction 2021-04-22 07:42:58 -04:00
wait_q.h
zephyr.h