I have worked out a fix of this in Netflix code base (I have the same code 
running there). I
will get that tested tonight I will get the fixes in to restore the behavior.

I will setup a phabricator shortly.. most likely I will update the one I already
have on the one problem your earlier patch did not fix.

R
> On Jul 18, 2016, at 5:44 PM, Randall Stewart <r...@netflix.com> wrote:
> 
> Gleb:
> 
> This now leaks TCP-PCB’s since you have broken the return codes with all your
> fixes that used to be in here.
> 
> It was
> 
> return 1 — You stopped the callout
> return 0 — The callout could not be stopped
> return -1 — The callout was not running.
> 
> The LLRef code that was crashing in in.c depended on this to know to free
> the memory.. i.e. if was > 0 then they needed to free the memory.
> 
> TCP depends on a return 0 to indicate the async-drain function will be called 
> back and
> thus increments a refcnt and waits for the callback.
> 
> You now return 0 when no timer was active.. which makes the stack then wait
> for the not forth coming async-drain call.
> 
> R
>> On Jul 18, 2016, at 11:29 AM, Gleb Smirnoff <gleb...@freebsd.org> wrote:
>> 
>> Author: glebius
>> Date: Mon Jul 18 09:29:08 2016
>> New Revision: 302998
>> URL: https://svnweb.freebsd.org/changeset/base/302998
>> 
>> Log:
>> Revert the last commit. It must get more review and testing first.
>> 
>> Modified:
>> head/sys/kern/kern_timeout.c
>> 
>> Modified: head/sys/kern/kern_timeout.c
>> ==============================================================================
>> --- head/sys/kern/kern_timeout.c     Mon Jul 18 09:26:06 2016        
>> (r302997)
>> +++ head/sys/kern/kern_timeout.c     Mon Jul 18 09:29:08 2016        
>> (r302998)
>> @@ -1381,7 +1381,7 @@ again:
>>              CTR3(KTR_CALLOUT, "failed to stop %p func %p arg %p",
>>                  c, c->c_func, c->c_arg);
>>              CC_UNLOCK(cc);
>> -            return (-1);
>> +            return (0);
>>      }
>> 
>>      c->c_iflags &= ~CALLOUT_PENDING;
>> 
> 
> --------
> Randall Stewart
> r...@netflix.com
> 803-317-4952
> 
> 
> 
> 
> 

--------
Randall Stewart
r...@netflix.com
803-317-4952





_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to