> On Sep 23, 2025, at 11:48 PM, Guido Falsi <madpi...@freebsd.org> wrote:
> 
> On 9/23/25 17:27, Jonathan T. Looney wrote:
>> On Mon, Sep 22, 2025 at 11:44 AM Guido Falsi <madpi...@freebsd.org 
>> <mailto:madpi...@freebsd.org>> wrote:
>>    On 9/22/25 17:37, Jonathan T. Looney wrote:
>>     > This seems like it is probably a low-frequency event. If so, why
>>    is a
>>     > counter a better choice for this than an atomic?
>>     >
>>    I used counters because they were already being used in the netinet6
>>    code, and are a good match for the use.
>> What makes them a good match for the use? Counters are generally best for 
>> write-often, read-rarely (by comparison) things, like statistics, where we 
>> want to avoid contention in a often-used critical path. For low-frequency 
>> events, the expense of keeping the counters (memory usage multiplied by the 
>> number of cores; more difficult debugging; etc.) may outweigh the benefits.
> 
> Maybe I explained myself poorly, I meant to say the structure already uses 
> counters and they work.

Jonathan is not talking about the correctness but he hints it is overkill to 
use a counter(9) for a rarely updated struct member.

> 
> It did not occur to me to use something different, but I see no problem using 
> a different tool, as long as it works and does not make the logic more 
> complex.

An atomic(9) is sufficient, so you can eliminate alloc / free and the code is 
shorter :)

> 
> -- 
> Guido Falsi <madpi...@freebsd.org>
> 

Best regards,
Zhenlei


Reply via email to