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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to