Re: Is it possible to employ epoch to simplify managing prison lifecycle

From: Alexander V. Chernikov <melifaro_at_ipfw.ru>
Date: Fri, 23 Dec 2022 11:15:01 UTC

> On 16 Dec 2022, at 16:29, Mateusz Guzik <mjguzik@gmail.com> wrote:
> 
> On 12/16/22, Zhenlei Huang <zlei.huang@gmail.com> wrote:
>> Hi,
>> 
>> While hacking `sys/kern/kern_jail.c` I got lost.
>> 
>> There're lots of ref / unref and flags to prevent visit invalid prison
>> while
>> concurrent modification is possible and some refs looks weird.
>> 
>> Is it possible to employ epoch(9) to simplify managing of prison lifecycle
>> ?
>> 
> 
> Some of the ref/unref cycles are probably avoidable to begin with, but
> ultimately the thing to do here is to employ per-cpu reference
> counting, if at all needed.
> 
> I have a wip patch to provide such a mechanism, it may or may not land
> this month.
That would be nice. I’d love to convert nextops refcounting to that one.
Do you envision similar semantics as Linux percpu_ref? I mean, does one need to explicitly mark “not in active use” stage?
> 
> -- 
> Mateusz Guzik <mjguzik gmail.com>
>