Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Apr 2016 15:09:30 -0700
From:      Matt Joras <matt.joras@gmail.com>
To:        "K. Macy" <kmacy@freebsd.org>
Cc:        Jack Vogel <jfvogel@gmail.com>, FreeBSD Net <freebsd-net@freebsd.org>
Subject:   Re: Question on sysctl tree handling
Message-ID:  <CADdTf%2BjD4ncCNjL67BgTH_SUtuw%2BDg4J0ttEVHOWTjvTuv1dNQ@mail.gmail.com>
In-Reply-To: <CAHM0Q_NNAb6K499p-mhThOdW4u68VywRAsJCwd2_HL_46D8g7w@mail.gmail.com>
References:  <CAFOYbcnufB18%2B94RYW2e7cE_uaEOvGW=pNgOVxyPdhgZoksSyg@mail.gmail.com> <CAFOYbcmgEt7jYvDSxCJ-ZPcdN8n6n2GdSGXGzMpHaQ2szskwmg@mail.gmail.com> <CAHM0Q_NNAb6K499p-mhThOdW4u68VywRAsJCwd2_HL_46D8g7w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Expanding on what mmacy said... I don't think the benefits of "easy
reconfiguration" are worth the headaches you're going to potentially
run into in production.

bxe(4) used to do this, and it caused us a lot of problems (i.e. panics)
at $DAY_JOB. For example, if a lagg was on top of bxe and then you
downed bxe you could very easily hit a use-after-free since bxe free'd
its rings while if_lagg is trying to transmit a packet.

Matt Joras

On Mon, Apr 11, 2016 at 2:03 PM, K. Macy <kmacy@freebsd.org> wrote:
> You do understand that init needs to be run every time interface
> settings are changed (TSO / PROMISC / CSUM/ etc)? Reallocating queues
> and interrupts every time is fragile (long running systems can run low
> on contiguous memory) and, in the common case that you're not actually
> changing the number, gratuitous.
>
> Cheers.
> -M
>
> On Fri, Apr 8, 2016 at 2:56 PM, Jack Vogel <jfvogel@gmail.com> wrote:
>> LOL, why does it seem that as soon as I ask the answer hits me in the nose
>> :)
>>
>> I found the sysctl_ctx_free call, sorry for the noise....
>>
>> Jack
>>
>>
>> On Fri, Apr 8, 2016 at 2:51 PM, Jack Vogel <jfvogel@gmail.com> wrote:
>>
>>>
>>> I have a driver design where the queue/ring/irq layout is done in init
>>> rather
>>> than in attach, allowing easy reconfiguration. What I'm not sure about is
>>> how to handle the sysctl tree during a reinit, I don't see a procedure to
>>> free up things so I can restructure :(
>>>
>>> Am I missing something, any pointers or suggestions appreciated.
>>>
>>> Thanks,
>>>
>>> Jack
>>>
>>>
>> _______________________________________________
>> freebsd-net@freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
> _______________________________________________
> freebsd-net@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CADdTf%2BjD4ncCNjL67BgTH_SUtuw%2BDg4J0ttEVHOWTjvTuv1dNQ>