Date: Mon, 14 May 2012 14:13:50 +0300 From: Konstantin Belousov <kostikbel@gmail.com> To: Grzegorz Bernacki <gber@freebsd.org> Cc: svn-src-projects@freebsd.org, src-committers@freebsd.org, Mateusz Guzik <mjg@semihalf.com> Subject: Re: svn commit: r233072 - projects/nand/sys/kern Message-ID: <20120514111350.GF2358@deviant.kiev.zoral.com.ua> In-Reply-To: <4FB10305.5020002@freebsd.org> References: <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> <4FB10305.5020002@freebsd.org>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --] On Mon, May 14, 2012 at 03:05:09PM +0200, Grzegorz Bernacki wrote: > 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 Yes, I have no objections against vfs_bio2.diff. [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (FreeBSD) iEYEARECAAYFAk+w6O4ACgkQC3+MBN1Mb4gmVQCgsrBMcvpTsZV/Qasl4Qk6v/DI laQAn0OUl4lQx3vjIgvwPM8TCKm/LGca =HPYb -----END PGP SIGNATURE-----help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120514111350.GF2358>
