From owner-svn-src-projects@FreeBSD.ORG Mon May 14 11:06:35 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5771F1065677; Mon, 14 May 2012 11:06:35 +0000 (UTC) (envelope-from gber@freebsd.org) Received: from smtp.semihalf.com (smtp.semihalf.com [213.17.239.109]) by mx1.freebsd.org (Postfix) with ESMTP id F0F278FC19; Mon, 14 May 2012 11:06:34 +0000 (UTC) Received: from localhost (unknown [213.17.239.109]) by smtp.semihalf.com (Postfix) with ESMTP id 5F4C8C4B2A; Mon, 14 May 2012 13:06:24 +0200 (CEST) X-Virus-Scanned: by amavisd-new at semihalf.com Received: from smtp.semihalf.com ([213.17.239.109]) by localhost (smtp.semihalf.com [213.17.239.109]) (amavisd-new, port 10024) with ESMTP id LWGneZrkbVlF; Mon, 14 May 2012 13:06:23 +0200 (CEST) Received: from [10.0.0.93] (cardhu.semihalf.com [213.17.239.108]) by smtp.semihalf.com (Postfix) with ESMTPSA id 951D8C4B12; Mon, 14 May 2012 13:06:23 +0200 (CEST) Message-ID: <4FB10305.5020002@freebsd.org> Date: Mon, 14 May 2012 15:05:09 +0200 From: Grzegorz Bernacki User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.24) Gecko/20120127 Thunderbird/3.1.16 MIME-Version: 1.0 To: Mateusz Guzik References: <20120317085116.GC1340@garage.freebsd.pl> <20120317161050.GI75778@deviant.kiev.zoral.com.ua> <4FA8FFB9.7090002@freebsd.org> <20120508095631.GV2358@deviant.kiev.zoral.com.ua> <4FA94609.3060306@freebsd.org> <20120510103105.GG2358@deviant.kiev.zoral.com.ua> <4FABC64F.3060502@freebsd.org> <20120510115857.GH2358@deviant.kiev.zoral.com.ua> <20120510164519.GA13258@pcbsd-2342.semihalf.com> <20120511104648.GM2358@deviant.kiev.zoral.com.ua> <20120511154810.GA99005@pcbsd-2342.semihalf.com> In-Reply-To: <20120511154810.GA99005@pcbsd-2342.semihalf.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: Konstantin Belousov , svn-src-projects@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r233072 - projects/nand/sys/kern X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 May 2012 11:06:35 -0000 On 05/11/12 17:48, Mateusz Guzik wrote: > On Fri, May 11, 2012 at 01:46:48PM +0300, Konstantin Belousov wrote: >> On Thu, May 10, 2012 at 06:45:19PM +0200, Mateusz Guzik wrote: >>> http://people.freebsd.org/~raj/patches/misc/vfs_highdirtybuf.diff >>> >>> callbacks are expected to increase flushed counter if they happend to >>> flush some buffers. >> I do not think this is right. You need to call a routine when getnewblk() >> is unable to find a buffer to recycle. >> >> As I understand, in your situation with lot of managed buffers, the dirty >> queue could be just empty. > > I don't think I follow. Is your concern that with a lot of managed buffers and > empty dirty queue nothing can be recycled? Or that managed buffers > affect calls to buf_do_flush? > > I presume you talk about the code below the following: > /* > * If we exhausted our list, sleep as appropriate. We may have to > * wakeup various daemons and write out some dirty buffers. > * > * Generally we are sleeping due to insufficient buffer space. > */ > > if (bp == NULL) { > > Conditions that cause bufdaemon weakups/buf_do_flush calls seem to be > not dependent on buffers being managed or not. > > buf_do_flush with our change always calls registered callbacks and the > callback that we register calls code that knowns what nandfs managed > buffers are dirty and flushes those. Buffers from dirty queues (if any) > are flushed separately. > > If I'm wrong or misunderstood you, please elaborate on problem you have > in mind. > >>> >>> Example proof-of-concept (will be cleaned up) change for nandfs: >>> http://people.freebsd.org/~raj/patches/misc/nandfs_vfs_highdirtybuf.diff >>> >>> Does this look reasonable? >>> > Hi Kostik, We would like to merge our code into HEAD. Please let us know if you have any objection. We are still going to work on buf deamon changes, but we would like to avoid delay on pushing our changes into HEAD. As I understand we agreed that we can merge B_MANAGED change from: http://people.freebsd.org/~gber/patches/vfs_bio2.diff thanks, grzesiek