lkml.org 
[lkml]   [2008]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] tcp: do not promote SPLICE_F_NONBLOCK to socket O_NONBLOCK
On Fri, Jul 18, 2008 at 09:16:43PM +0300, Octavian Purdila (opurdila@ixiacom.com) wrote:
> tcp_read_sock
> ... -> skb_splice_bits -> spd_fill_page;
> on return (spd->nr_page is 1 and pipe->nrbufs is 1)
> ... -> skb_splice_bits -> spd_fill_page;
> on return (spd->nr_page is 1 and pipe->nrbufs is 2)
> ... -> skb_splice_bits -> spd_fill_page;
> on return (spd->nr_page is 1 and pipe->nrbufs is 3)
> ...
>
> and so on until pipe->nrbufs is 16. At than point, we will block in pipe_wait,
> inside splice_to_pipe.

Seems that SPLICE_F_NONBLOCK check should be propagated from
tcp_splice_read() into skb_splice_bits(), and this flag is actually
there already in tss.flags.

--
Evgeniy Polyakov


\
 
 \ /
  Last update: 2008-07-18 20:39    [from the cache]
©2003-2011 Jasper Spaans