Subject: Re: mp->mnt_vnodelist change
To: Thor Lancelot Simon <email@example.com>
From: Reinoud Zandijk <firstname.lastname@example.org>
Date: 10/19/2006 00:01:53
Content-Type: text/plain; charset=us-ascii
On Wed, Oct 18, 2006 at 05:36:15PM -0400, Thor Lancelot Simon wrote:
> > On Wed, Oct 18, 2006 at 03:02:44PM -0400, Thor Lancelot Simon wrote:
> > Normal data blocks most likely are done fine but the vnode list is ordered
> > in the reverse order as accessed/created. Thats due to the head insertion
> > of new vnodes loaded/created so earlier vnodes get later and later on the
> > tree.
> Does this mean that when the syncfs syncer walks the vnode list to flush
> pending writes for files, the files too are scheduled in what is likely
> to be the reverse order of their physical location on the disk?
The syncfs syncer uses a different set of lists but yes, it too has the
same problem with the lists.
If i read the code correctly, the syncfs syncer has an array of lists that
it walks sequentially switching to a new slot each second. The nodes on the
list chosen are due to the head-insertion synced in reverse order.
Files that are accessed in the order A;pauze;B,C,D;pauze;E then can get
synced as A,D,C,B,E. Since its more likely that files accessed are
layed out semi-sequentialy on disc when they are created its weird to
explictly reverse order them.
So yes, thats also a sync order thing yes.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v184.108.40.206 (NetBSD)
-----END PGP SIGNATURE-----