Messages in this thread | | | Date | Fri, 18 Jul 2008 22:35:50 +0400 | From | Evgeniy Polyakov <> | Subject | Re: [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
| |