zephyr/include
Andy Ross dadc6643e4 kernel/poll: Move "_poller" into thread struct, fix COHERENCE collision
Fix the issue where the kernel poll code would place the tracking
struct on the caller stack and share it with other threads, thus
creating a cache coherence issue on systems where KERNEL_COHERENCE is
enabled.

This works by eliminating the thread backpointer in struct _poller and
simply placing the (now just two-byte!) struct directly into the
thread struct.

Note that this doesn't attempt to fix the API paradigm that the
natural way to structure a call to k_poll() is to use an array of
k_poll_events on the CALLER's stack.  So it's likely that most
"typical" k_poll code is still going to have problems with
KERNEL_COHERENCE.  But at least now the kernel internals aren't
fundamentally broken.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2020-11-11 10:59:52 -05:00
..
app_memory userspace: update k_mem_domain_add_partition docs 2020-11-05 09:33:40 -05:00
arch arc: enable thread local storage 2020-11-11 13:25:29 +01:00
audio
bluetooth Bluetooth: host: Change directed advertising to privacy-enabled peer 2020-11-11 13:22:02 +01:00
canbus
cmsis_rtos_v1
cmsis_rtos_v2
console
crypto
data
debug
devicetree devicetree: rename header to reflect that io-channels are not ADC-only 2020-10-19 17:21:33 +02:00
dfu
disk
display
drivers drivers: add infrastructure for regulator devices 2020-10-28 15:22:53 +01:00
dt-bindings drivers: display: ili9xxx: generalize ILI display driver 2020-11-10 15:52:12 -06:00
fs fs: Add support for mount flags 2020-11-06 13:10:13 -05:00
linker net: dns: dns-sd: support dns service discovery 2020-11-09 16:15:02 -08:00
logging logging: make log_backend_std header public 2020-10-21 10:21:05 -04:00
lorawan
mgmt mgmt/osdp: CP: Unify osdp_cp_send_cmd_*() as osdp_cp_send_command() 2020-10-21 17:36:16 +02:00
net net: lwm2m: Add path generation macro 2020-11-10 14:10:44 +02:00
posix
power pm: Add power management states definition 2020-11-11 13:20:05 +01:00
random
settings
shell
stats
storage storage/flash_map: Added function for get erased byte value 2020-10-30 15:53:38 +01:00
sys lib: os: ring_buffer: Cleaning checkpatch warnings 2020-11-11 13:17:49 +01:00
timing
toolchain sys: util: Add clamp macro 2020-11-05 12:12:17 +01:00
tracing
usb usb: samples: Add Extension descriptor to webUSB sample. 2020-10-30 15:56:13 +01:00
zephyr
cache.h
device.h device: deprecate DEVICE_INIT 2020-11-10 08:38:09 -06:00
devicetree.h devicetree: add a name for an invalid node identifier 2020-10-19 18:14:11 +02:00
ec_host_cmd.h
emul.h
exc_handle.h
fatal.h
generated_dts_board.h
init.h
irq_nextlevel.h
irq_offload.h
irq.h
kernel_includes.h
kernel_structs.h
kernel_version.h
kernel.h kernel/poll: Move "_poller" into thread struct, fix COHERENCE collision 2020-11-11 10:59:52 -05:00
mempool_heap.h
mempool_sys.h
ptp_clock.h
sched_priq.h
shared_irq.h
spinlock.h kernel: Add cache coherence management framework 2020-10-21 06:38:53 -04:00
sw_isr_table.h
sys_clock.h
syscall_handler.h
syscall.h
timeout_q.h
toolchain.h
wait_q.h
zephyr.h