From owner-cvs-src@FreeBSD.ORG Fri Nov 23 02:48:25 2007 Return-Path: Delivered-To: cvs-src@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B7DA116A417; Fri, 23 Nov 2007 02:48:25 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id BA83313C447; Fri, 23 Nov 2007 02:48:25 +0000 (UTC) (envelope-from davidxu@FreeBSD.org) Received: from [127.0.0.1] (root@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.1/8.14.1) with ESMTP id lAN2mNqh011436; Fri, 23 Nov 2007 02:48:24 GMT (envelope-from davidxu@freebsd.org) Message-ID: <47463FB1.7060100@freebsd.org> Date: Fri, 23 Nov 2007 10:49:21 +0800 From: David Xu User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.13) Gecko/20070516 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Jean-Sebastien Pedron References: <200711191505.lAJF5K2i006483@repoman.freebsd.org> In-Reply-To: <200711191505.lAJF5K2i006483@repoman.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern sys_pipe.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Nov 2007 02:48:25 -0000 Jean-Sebastien Pedron wrote: > dumbbell 2007-11-19 15:05:20 UTC > > FreeBSD src repository > > Modified files: > sys/kern sys_pipe.c > Log: > The kernel uses two ways to write data on a pipe: > o buffered write, for chunks smaller than PIPE_MINDIRECT bytes > o direct write, for everything else > > A call to writev(2) may receive struct iov of various size and the > kernel may have to switch from one solution to the other. Before doing > this, it must wake reader processes and any select/poll/kqueue up. > > This commit fixes a bug where select/poll/kqueue are not triggered > when switching from buffered write to direct write. It adds calls to > pipeselwakeup(). > > I give more details on freebsd-arch@: > http://lists.freebsd.org/pipermail/freebsd-arch/2007-September/006790.html > > This should fix issues with Erlang (lang/erlang) and kqueue. > > Reported by: Rickard Green (Erlang) > > Revision Changes Path > 1.193 +4 -0 src/sys/kern/sys_pipe.c > This is an important fix, would you MFC it to RELENG_7 and maybe RELENG_6 ? Regards, David Xu