Hi VPP-experts, We are exploring ways to make the ACL plugin thread safe and need your inputs on the same.
As of today, most of the ACL apis (acl-add/del and acl-lookup-context-add/del) take thread barrier lock, due to which synchronization is automatically achieved for the workers, who are trying to access the ACL plugin for lookups. To eliminate this thread barrier lock, we are thinking few changes to begin with. 1) Make acl-list pools and acl-lookup-context pools as fixed length pools (to the max values that we can expect), so that element pointers will not change during resizing and multiple threads can do pool_put and pool_get at the same time with basic lock at the pool level (only during pool_get and pool_put). 2) acl_lookup_hash is a bihash. So, I assume multiple readers can access it when writer is trying to modify. Basically, its already a thread safe data structure and does not need any further changes. Anything else we need to worry about to make this thread safe ? Appreciate any inputs on this. -- Thanks & Regards, Murthy
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#20211): https://lists.fd.io/g/vpp-dev/message/20211 Mute This Topic: https://lists.fd.io/mt/85919320/21656 Group Owner: vpp-dev+ow...@lists.fd.io Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-