On 5/25/24 12:18, [email protected] wrote: > From: Shaohua Wu <[email protected]> > > In scenarios with multiple PMDs, there may be > simultaneous requests for recirc_id from multiple > PMD threads.In recirc_alloc_id_ctx, we first check > if there is a duplicate entry in the metadata_map > for the same frozen_state field. If successful, > we directly retrieve the recirc_id. If unsuccessful, > we create a new recirc_node and insert it into > id_map and metadata_map. There is no locking mechanism > to prevent the possibility of two threads with the same > state simultaneously inserting, meaning their IDs are > different, but their frozen_states are the same.
Hi, Shaohua Wu. Could you, please, explain why having multiple IDs allocated for the same state is a problem? This may create a few more datapath flows, but should not cause any correctness issues, as Simon pointed out previously. The change you're proposing may have some performance impact as we'll be holding the shared mutex for longer while allocating IDs, so I'd like to understand why it is a problem before making the change. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
