zephyr/subsys/bluetooth/controller/util
Vinayak Chettimada d5d473b0f8 Bluetooth: Controller: replace work with mayfly
This commit introduces a very light-weight and lock-less
scheduling of the Controller's deferred function calls
called the Mayfly.

Earlier work implementation used in the Controller had an
O(n) to schedule a function in a linked list that used IRQ
lock during modification of the linked list in the
Controller's ISR executions.

Mayfly is a compile time configurable matrix of queues
where an execution context-safe queue exists between two
execution context, one being the caller and the second
being the callee. Callee(s) are run in a software interrupt
but can also be run in an OS thread.

There are minor clean ups too in this commit related to
folder structure.

Change-id: I5ff44dcee6679d2f5ce9e8437d98d6c868782f3d
Signed-off-by: Vinayak Chettimada <vinayak.kariappa.chettimada@nordicsemi.no>
2017-01-05 08:49:16 +02:00
..
config.h Bluetooth: Controller: replace work with mayfly 2017-01-05 08:49:16 +02:00
mayfly.c Bluetooth: Controller: replace work with mayfly 2017-01-05 08:49:16 +02:00
mayfly.h Bluetooth: Controller: replace work with mayfly 2017-01-05 08:49:16 +02:00
mem.c Bluetooth: Controller: replace work with mayfly 2017-01-05 08:49:16 +02:00
mem.h Bluetooth: Controller: replace work with mayfly 2017-01-05 08:49:16 +02:00
memq.c Bluetooth: Controller: add memq_peek interface 2017-01-05 08:49:16 +02:00
memq.h Bluetooth: Controller: add memq_peek interface 2017-01-05 08:49:16 +02:00
util.c
util.h Bluetooth: Controller: replace work with mayfly 2017-01-05 08:49:16 +02:00