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
