tun(4) in -CURRENT: No buffer space available - race condition patch

Marcin Cieslak saper at saper.info
Thu Sep 16 13:02:34 UTC 2010


Dnia 15.09.2010 John Baldwin <jhb at freebsd.org> napisał/a:
> On Monday, September 13, 2010 9:10:01 pm Marcin Cieslak wrote:
>> Output queue of tun(4) gets full after some time when sending lots of data.
>> I have been observing this on -CURRENT at least since March this year.
>> 
>> Looks like it's a race condition (same in tun(4) and tap(4)), 
>> the following patch seems to address the issue:
>
> This is a good find.  I actually went through these drivers a bit further and 
> have a bit of a larger patch to extend the locking some.  Would you care to 
> test it?

Do you think those drivers could be taken out of Giant after this change?
I think that networking code path (via if_start etc.) is not using Giant
at all, only cdevsw routines are. Am I right?

//Marcin



More information about the freebsd-current mailing list