Re: receiver window questions

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

 



On Fri, May 30, 2008 at 05:08:10PM +0200, Michael Tuexen wrote:
> Hi Vlad,
>
> is there any description available how the auto-tuning works?
> But even with auto-tuning you still have the a_rwnd you report
> to the outside world (in SACKs) and an internal value which
> you use for tracking you buffer, right?
>


As Vlad said, there is no formal description available, but if you want a
functional overview, the sk_mem_schedule api is the place to look to understand
how thresholds, and memory pressure detection work

Regards
Neil


> Best regards
> Michael
>
> On May 30, 2008, at 3:02 PM, Vlad Yasevich wrote:
>
>> Neil Horman wrote:
>>> On Thu, May 29, 2008 at 11:50:56AM -0400, Vlad Yasevich wrote:
>>>> Neil Horman wrote:
>>>>> On Thu, May 29, 2008 at 11:06:11AM -0400, Vlad Yasevich wrote:
>>>> I think this is hitting a condition where the receiver buffer is 
>>>> exhausted prior
>>>> to rwnd.  We generally mark the TSN as received prior to attempting an 
>>>> internal allocation to carry the data.  Thus, if this allocation fails, 
>>>> we'll continue
>>>> reporting the tsn as received and move the cum-tsn if appropriate.
>>>>
>>>> We've been trying to figure out what the correct way to solve this 
>>>> condition is
>>>> and so far haven't come up with a workable solution.
>>>>
>>> You're right it does sound like that.  You know, I haven't visited that 
>>> code
>>> since we rewrote the receive buffer management code to expand according 
>>> to
>>> available memory with the sk_mem_schedule api.  Do you think this could 
>>> be as
>>> simple as removing this drop point?
>>
>> The problem is that if the user sets the buffer size, we don't auto-tune 
>> it.
>> This is what happened in this case.  However, even with auto-tunning, this
>> still shows up with 1 byte data chunks.
>>
>> So, 2 things need to happen:
>> 	1)  when we drop the chunk due to allocation failure, we have to remove
>> 	    the tsn from the map.  This one is easy
>>
>> 	2)  We need to properly detect SWS.  I haven't looked fully at this, but
>>            it feels a bit more involved.  Implementing something like what 
>> BSD
>> 	    has would also work, i.e. reducing a_rwnd 1 when receive buffer is
>> 	    about to be exhausted.
>>
>> -vlad
>>

-- 
/****************************************************
 * Neil Horman <nhorman@xxxxxxxxxxxxx>
 * Software Engineer, Red Hat
 ****************************************************/
--
To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux