Source-Changes archive

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

Re: CVS commit: src/sys/ufs/lfs



On Tue, 17 Apr 2007 01:16:47 +0000 (UTC)
Konrad Schroder <perseant%netbsd.org@localhost> wrote:

> 
> Module Name:  src
> Committed By: perseant
> Date:         Tue Apr 17 01:16:47 UTC 2007
> 
> Modified Files:
>       src/sys/ufs/lfs: lfs.h lfs_bio.c lfs_extern.h lfs_segment.c
>           lfs_vfsops.c lfs_vnops.c
> 
> Log Message:
> Install a new sysctl, vfs.lfs.ignore_lazy_sync, which causes LFS to ignore
> the "smooth" syncer, as if vfs.sync.*delay = 0, but only for LFS.  The
> default is "on", i.e., ignore lazy sync.
> 
> Reduce the amount of polling/busy-waiting done by lfs_putpages().  To
> accomplish this, copied genfs_putpages() and modified it to indicate which
> page it was that caused it to return with EDEADLK.  fsync()/fdatasync()
> should no longer ever fail with EAGAIN, and should not consume huge
> quantities of cpu.
> 
> Also, try to make dirops less likely to be written as the result of a
> VOP_PUTPAGES(), while ensuring that they are written regularly.

I tried this change with amd64/SMP and the result is not satisfactory.

I did the following:

$ cd /storage/misc <- /storage was created with newfs_lfs -A
$ tar cvfz pkgsrc.tgz pkgsrc <- I had pkgsrc stored here
$ mkdir foo
$ tar xvfz pkgsrc.tgz -C foo

Untarring pkgsrc made the system unusable, 100% cpu all the time.

-- 
http://plog.xtrarom.org/
Juan RP's blog - NetBSD/pkgsrc news in Spanish



Home | Main Index | Thread Index | Old Index