lkml.org 
[lkml]   [2010]   [Mar]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH] NET_DMA: free skbs periodically
From
From: "Steven J. Magnani" <steve@digidescorp.com>
Date: Tue, 16 Mar 2010 10:22:44 -0500

> Under NET_DMA, data transfer can grind to a halt when userland issues a
> large read on a socket with a high RCVLOWAT (i.e., 512 KB for both).
> This appears to be because the NET_DMA design queues up lots of memcpy
> operations, but doesn't issue or wait for them (and thus free the
> associated skbs) until it is time for tcp_recvmesg() to return.
> The socket hangs when its TCP window goes to zero before enough data is
> available to satisfy the read.
>
> Periodically issue asynchronous memcpy operations, and free skbs for ones
> that have completed, to prevent sockets from going into zero-window mode.
>
> Signed-off-by: Steven J. Magnani <steve@digidescorp.com>

Can one of the NET DMA folks review this.

It's a pretty fundamental problem with how this stuff works
it seems.


\
 
 \ /
  Last update: 2010-03-19 04:39    [W:0.048 / U:0.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site