vlib: process node scheduler rework 60/41560/10
authorDamjan Marion <[email protected]>
Tue, 10 Sep 2024 15:07:49 +0000 (17:07 +0200)
committerOle Tr�an <[email protected]>
Thu, 26 Sep 2024 08:33:47 +0000 (08:33 +0000)
commitdfa77dc6062eeaed426879bf162f58337ed36692
treeafbee346e9590dc66c8a200f666daa2af0f5ac0c
parentd8022139ebf5f2cfb0e207b21baf6aa22e908bb9
vlib: process node scheduler rework

This commit allow use od cooperative multitasking with multiple
descheduling reasons (i.e. event wait and suspend) inside the same
process node. In previus code remote node will wake up process node
by sending event evein if process node is waiting in
vlib_process_ssupend().

This change also allowed new vlib_process_yield() API which deschedules
current process and it puts it into the end of queue.

Change-Id: I846e5a99b4ea1809eb80895f6ffe0ef0b2fd21ae
Type: improvement
Signed-off-by: Damjan Marion <[email protected]>
src/plugins/dpdk/main.c
src/vlib/main.c
src/vlib/node.h
src/vlib/node_cli.c
src/vlib/node_funcs.h
src/vlibapi/node_serialize.c