Re: [RFC][PATCH][NET] Fix never pruned tcp out-of-order queue

From: Andi Kleen
Date: Tue Apr 15 2008 - 04:31:12 EST


Vitaliy Gusev wrote:
> On 15 April 2008 12:18:10 David Miller wrote:
>> From: Andi Kleen <andi@xxxxxxxxxxxxxx>
>> Date: Tue, 15 Apr 2008 10:14:56 +0200
>>
>>> The main difference seems to be that
>>> sk_rmem_schedule/__sk_mem_schedule is called more often, but it is
>>> unclear how this affects the ooo pruning which only checks
>>> the queue length anyways.
>> tcp_data_queue() would not do the tcp_prune_ofo_queue() in some
>> cases, it's the whole point of the patch.

I still think the guards are pretty much the same as before, sorry:)

> Yes, if second sk_rmem_schedule() failed then tcp_prune_ofo_queue() is force called
> and try sk_rmem_schedule() again.

Yes but that doesn't affect the ooo prune guards at all, they only check
rmem_alloc and neither sk_rmem_schedule() nor __sk_mem_schedule
change that. Also the two callers are the same too in their checks.

But why not repeat the whole prune for all cases in this case then?

e.g. you should probably at least repeat the third step (setting
pred_flags to 0) too.

-Andi

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/