tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: WABPL tstile/performance issues...[LONG]



On Sun, Jan 25, 2009 at 08:29:01PM -0600, Greg Oster wrote:
[snip]

> (gdb) list *0xc0352316
> 0xc0352316 is in ffs_full_fsync 
> (/u1/devel/current2/src/sys/ufs/ffs/ffs_vnops.c:477).
> 472                      * Don't flush the log if the vnode being flushed
> 473                      * contains no dirty buffers that could be in the log.
> 474                      */
> 475                     if (!((flags & FSYNC_RECLAIM) &&
> 476                         LIST_EMPTY(&vp->v_dirtyblkhd))) {
> 477                             error = wapbl_flush(mp->mnt_wapbl, 0);

If I get this condition right, wapbl_flush() will be called if either
the FSYNC_RECLAIM flag is not set (this is the common case) or the
vnode has dirty buffers.

What is the reason for wapbl_flush() to depend on FSYNC_RECLAIM that is only
set for vinvalbuf(..., V_SAVE, ...).

-- 
Juergen Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)


Home | Main Index | Thread Index | Old Index