:>     driver, but it's also possible that they are due to a bug in the
:>     buffer cache flushing code which the following patch fixes.  So try
:>     the patch and see if that fixes your problem.  If it doesn't then
:>     we can at least rule it out as being the cause of the problem you
:>     are seeing.
:[..]
:
:Just one comment..  You've replaced vfs_bio's call to speedup_syncer() with
:a bufdaemon speedup..    Granted I don't understand the details here, but
:I'm curious why? (or why not use both?)  The reason I ask is that I wonder
:whether removing of the speedup of the vnode cleanup rate is a good idea or
:not..  or if the bufdaemon speedup does this as a side effect via the hooks
:softupdates has got in the bio system.  This is not a criticism, just a
:request for enlightenment. :-)

    speedup_syncer() was designed for softupdates to allow softupdates to
    regulate the number of pending transactions.  The problem with it,
    though, is that calling the function results in a 'slow reaction' by
    the system rather then an 'immediate reaction', and in this particular
    case we need an immediate reaction.  A slow reaction gets us nowhere
    (gets us multi-second delays, in fact).

    bd_speedup() wakes up the buf_daemon and as part of the patch the 
    buf_daemon has been redesigned to handle the 'immediate reaction' case
    without compromising its dynamic stability characteristics (which are
    what tend to make it efficient under normal operation).

                                        -Matt
                                        Matthew Dillon 
                                        <[EMAIL PROTECTED]>

:
:> @@ -1571,9 +1573,8 @@
:>                      flags = VFS_BIO_NEED_ANY;
:>              }
:>  
:> -            /* XXX */
:> +            bd_speedup();   /* heeeelp */
:>  
:> -            (void) speedup_syncer();
:>              needsbuffer |= flags;
:>              while (needsbuffer & flags) {
:>                      if (tsleep(&needsbuffer, (PRIBIO + 4) | slpflag,
:
:Cheers,
:-Peter
:
:
:
:
:To Unsubscribe: send mail to [EMAIL PROTECTED]
:with "unsubscribe freebsd-current" in the body of the message
:



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to