Freeing vnodes.

Don Lewis truckman at FreeBSD.org
Tue Mar 15 19:33:38 PST 2005


On 15 Mar, Jeff Roberson wrote:
> On Tue, 15 Mar 2005, Matthew Dillon wrote:

>>     syncer:	  I've always wanted to rewrite the syncer to be per-mount
>> 		  or per-physical-device so it could sync out to multiple
>> 		  physical devices simultaniously.

It would be nice to do this on a per-physical-device basis to avoid
multiple threads contending for the same device, but this looks like it
would be difficult due to the way that devices can be sliced, diced, and
merged.

It would also be nice if buf_daemon was a per-device or per-mount.  I
haven't tested it lately, but in the past I was able to deadlock
buf_daemon by loopback NFS mounting a local file system and doing a lot
of write activity (iozone works well for this).

> The syncer is kind of bogus anyway, because it mostly just destroys the
> buf daemon's delayed writes by forcing it all out at once.  It does
> redundant work, except for updating inodes, which should be all it really
> does.

The syncer also sets an upper bound on the time that file modifications
go unwritten to disk.  Buf_daemon sleeps while numdirtybuffers <=
lodirtybuffers, so a file updated on a quiet system would not be written
to disk for an arbitrarily long time without the syncer.



More information about the freebsd-arch mailing list