tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: struct ifnet and ifaddr handling [was: Re: Making global variables of if.c MPSAFE]



On Wed, Nov 19, 2014 at 2:38 PM, Masao Uebayashi <uebayasi%gmail.com@localhost> wrote:
> On Wed, Nov 19, 2014 at 11:24 AM, Ryota Ozaki <ozaki-r%netbsd.org@localhost> wrote:
>> Weird :-/
>
> I don't think so.  For fast paths to access data really fast, slow
> paths take a little way around (pre-allocation, etc).  This is a fair
> trade-off.  If you can achieve such a goal (e.g. lockless access of
> list) without restructuring, that's really weird. :)

I just felt so, I don't reject the code :)

>
> In this case, another approach is to allocate callout per-interface?
> Should be considered and compared with alternatives.

Sounds good for me.

Actually FreeBSD seems to have a callout for each interface. Even more
they killed the common if_watchdog facility and each driver has its own.

Anyway here is a patch:
http://www.netbsd.org/~ozaki-r/watchdog-callout-per-if.diff
(it's on top of -current HEAD).

Thanks,
  ozaki-r


Home | Main Index | Thread Index | Old Index