On 09.07.2019 19:19, David Marchand wrote: > pmd reloads are currently serialised in each steps calling > reload_affected_pmds. > Any pmd processing packets, waiting on a mutex etc... will make other > pmd threads wait for a delay that can be undeterministic when syscalls > adds up. > > Switch to a little busy loop on the control thread using the existing > per-pmd reload boolean. > > The memory order on this atomic is rel-acq to have an explicit > synchronisation between the pmd threads and the control thread. > > Signed-off-by: David Marchand <[email protected]> > Acked-by: Eelco Chaudron <[email protected]> > --- > Changelog since v3: > - explicitly do not wait for non pmd reload in patch 2 (Ilya) > - added Eelco ack > > Changelog since v2: > - remove unneeded synchronisation on pmd thread join (Ilya) > - "inlined" synchronisation loop in reload_affected_pmds > > Changelog since v1: > - removed the introduced reloading_pmds atomic and reuse the existing > pmd->reload boolean as a single synchronisation point (Ilya) > > Changelog since RFC v1: > - added memory ordering on 'reloading_pmds' atomic to serve as a > synchronisation point between pmd threads and control thread > > --- > lib/dpif-netdev.c | 28 ++++++++++++++-------------- > 1 file changed, 14 insertions(+), 14 deletions(-)
LGTM, Acked-by: Ilya Maximets <[email protected]> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
