On 1/16/24 23:52, Frode Nordahl wrote:
> Introduce cooperative multitasking module which allows us to
> interleave important processing with long running tasks while
> avoiding the additional resource consumption of threads and
> complexity of asynchronous state machines.
> 
> We will use this module to ensure long running processing in the
> OVSDB server does not interfere with stable maintenance of the
> RAFT cluster in subsequent patches.
> 
> Relevant discussion:
> https://mail.openvswitch.org/pipermail/ovs-discuss/2022-December/052140.html
> https://mail.openvswitch.org/pipermail/ovs-dev/2023-December/410262.html
> 
> v1 -> v2:
> 
> * Address review feedback.
> 
> * Drop json_serialized_object_with_yield(), not needed.
> 
> * Create OVS private header for json library and update the include
>   guard of the public header to be consistent with other public headers.
> 
> * Drop patch that reorders execution in ovsdb-server main loop.
> 
> v2 -> v3:
> 
> * Address review feedback.
> 
> * Shift yield threshold for RAFT to avoid premature yields when idle
>   (thanks to Ilya for the suggestion).
> 
> * Reintroduce json_serialized_object_with_yield() with yield at the
>   appropriate places (thanks, Ilya!).
> 
> Frode Nordahl (5):
>   timeval: Add internal timewarp interface.
>   lib: Introduce cooperative multitasking module.
>   ovsdb raft: Enable cooperative multitasking.
>   json: Add yielding json create/destroy functions.
>   ovsdb-server: Make use of cooperative multitasking.

Thanks!  I did another round of scale testing and didn't notice any
issues with this change.

Applied.

Best regards, Ilya Maximets.

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to