Subject: Re: mp->mnt_vnodelist change
To: Thor Lancelot Simon <tls@rek.tjls.com>
From: Reinoud Zandijk <reinoud@netbsd.org>
List: tech-kern
Date: 10/19/2006 00:01:53
--CdrF4e02JqNVZeln
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

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.

With regards,
Reinoud


--CdrF4e02JqNVZeln
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.1 (NetBSD)

iQEVAwUBRTakSYKcNwBDyKpoAQKj0AgAoiDr8HnLy3ess119VGDuxqZ8u2n1SXjM
8xsbVDXw+VUbG+VYDE/Erj4VJPS/t6e9v+wfzwRncF6uOzm2n0PFR+O6RWol+NHo
Wzf4Db+kx3XpOs4/wThcDnw+IxRG8uwKwupIlXsO/ECGOTUswXDBcohKIxUjTjJn
bwxwjM0Qe+jIA3UvKI/wCOv2NWQ4db5zFwucfckFnn4nS7Wal2uekzuG1/a38jO+
FIY2SwvvLcKm36YAAd/xLgEJ7YrUCO9JoDD6TGfPRZtP1BXArDvu1V+E2rs95G8p
T2lGR7kajGIhKMmQ4XDnIcXH+rP9G9fZHmtnxl7o0js6xSdjZnwpfg==
=hda2
-----END PGP SIGNATURE-----

--CdrF4e02JqNVZeln--