Promoted from the Not Planned table by the next-features ranking; together they unblock net_buf if comms-stack porting materializes.
k_mem_slab — a consumer pattern is now identified: Zephyr's I2S API takes k_mem_slab pointers for RX/TX block pools, making it a hard prerequisite for any Zephyr-shaped audio path. Also half of the net_buf dependency. Free list + existing blocking machinery; k_mem_slab_alloc(K_NO_WAIT) is ISR-safe by design.
k_queue → k_fifo/k_lifo — pervasive in upstream code; almost any ported subsystem touches k_fifo. Builds on sys_slist. Other half of the net_buf dependency.
Design requirement (non-negotiable): blocking paths (k_queue_get(K_FOREVER), k_mem_slab_alloc with timeout) must be built on the owned-state architecture proven by #41/#42 (caller-owned state + stack-resident waiter nodes + the reserved notification index — see zkernel_internal.h and the zkernel README design principle), NOT on raw FreeRTOS-backed waits, which re-enter the object-lifetime bug family (#18/#21/#22).
Promoted from the Not Planned table by the next-features ranking; together they unblock
net_bufif comms-stack porting materializes.k_mem_slab— a consumer pattern is now identified: Zephyr's I2S API takesk_mem_slabpointers for RX/TX block pools, making it a hard prerequisite for any Zephyr-shaped audio path. Also half of thenet_bufdependency. Free list + existing blocking machinery;k_mem_slab_alloc(K_NO_WAIT)is ISR-safe by design.k_queue→k_fifo/k_lifo— pervasive in upstream code; almost any ported subsystem touchesk_fifo. Builds onsys_slist. Other half of thenet_bufdependency.Design requirement (non-negotiable): blocking paths (
k_queue_get(K_FOREVER),k_mem_slab_allocwith timeout) must be built on the owned-state architecture proven by #41/#42 (caller-owned state + stack-resident waiter nodes + the reserved notification index — seezkernel_internal.hand the zkernel README design principle), NOT on raw FreeRTOS-backed waits, which re-enter the object-lifetime bug family (#18/#21/#22).