Hao,
I noticed the same behavior when stress-testing the multi thread session
handling for the ACL plugin a while ago. I thought this trade off is there to
avoid having to do the hard locks in bihash code, rather than it being a bug.
As you say - the special value comes only if the deletion is
Hi Dave,
Thanks for your work. I am ready to test whenever needed.
Best regards,
Hao Tian
From: vpp-dev@lists.fd.io on behalf of Dave Barach
Sent: Thursday, March 16, 2023 7:02 AM
To: vpp-dev@lists.fd.io
Subject: Re: [vpp-dev] Race condition between
Hi Andrew,
Thanks for the insight, the idea about treating it as optimization is quite
interesting.
This is fine for newly added code, but I'm a bit concerned about existing code
- there are a lot of bihash callers that use the value from bihash as
vec/pool/... index as long as the search
I'm doing a bit of work to straighten out the template, hopefully without
causing a measurable performance regression.
Hao's test code is a bit of a corner-case: there is exactly one record in the
database which the code thrashes as hard as possible.
D.
-Original Message-
From:
Hi Experts,
I'm using VPP v22.02.0-26. I have a physical interface
TwentyFiveGigabitEthernet3/0/0/4096 in bridge-domain 10(untagged) and I have
configured "l2 efp-filter" on all the interfaces.
I expected that at the ingress of interface
TwentyFiveGigabitEthernet3/0/0/4096, only untagged
Doubling the number of atomic ops was expected to cause a severe performance
regression. This hack demonstrates that the test code wasn't responsible. A
bit of extra suspicion in clib_bihash_search_inline_2_with_hash() will
likely solve the problem without the huge performance regression.
D.
Hi,
I tried but could not come up with any way that is able to ensure the kvp being
valid upon return without using the full bucket lock.
Maybe we can make a copy of the value before returning, validate the copy and
return that copy instead. Critical section can be shrinked to cover only the