Date: Mon, 10 Jan 2000 19:14:21 +0000 From: Brian Somers <brian@Awfulhak.org> To: Kirk McKusick <mckusick@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org, brian@hak.lan.Awfulhak.org Subject: Re: cvs commit: src/sys/contrib/softupdates ffs_softdep.c src/sys/kern vfs_bio.c src/sys/sys buf.h src/sys/ufs/ffs ffs_alloc.c ffs_softdep_stub.c ffs_vfsops.c ffs_vnops.c src/sys/ufs/ufs ufs_extern.h ufs_lookup.c ufs_vnops.c Message-ID: <200001101914.TAA00351@hak.lan.Awfulhak.org> In-Reply-To: Message from Kirk McKusick <mckusick@FreeBSD.org> of "Sun, 09 Jan 2000 16:24:24 PST." <200001100024.QAA38162@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> mckusick 2000/01/09 16:24:24 PST
>
> Modified files:
> sys/contrib/softupdates ffs_softdep.c
> sys/kern vfs_bio.c
> sys/sys buf.h
> sys/ufs/ffs ffs_alloc.c ffs_softdep_stub.c
> ffs_vfsops.c ffs_vnops.c
> sys/ufs/ufs ufs_extern.h ufs_lookup.c ufs_vnops.c
> Log:
> Several performance improvements for soft updates have been added:
> 1) Fastpath deletions. When a file is being deleted, check to see if it
> was so recently created that its inode has not yet been written to
> disk. If so, the delete can proceed to immediately free the inode.
> 2) Background writes: No file or block allocations can be done while the
> bitmap is being written to disk. To avoid these stalls, the bitmap is
> copied to another buffer which is written thus leaving the original
> available for futher allocations.
> 3) Link count tracking. Constantly track the difference in i_effnlink and
> i_nlink so that inodes that have had no change other than i_effnlink
> need not be written.
> 4) Identify buffers with rollback dependencies so that the buffer flushing
> daemon can choose to skip over them.
>
> Revision Changes Path
> 1.44 +186 -58 src/sys/contrib/softupdates/ffs_softdep.c
> 1.240 +145 -6 src/sys/kern/vfs_bio.c
> 1.88 +7 -2 src/sys/sys/buf.h
> 1.64 +8 -1 src/sys/ufs/ffs/ffs_alloc.c
> 1.7 +3 -3 src/sys/ufs/ffs/ffs_softdep_stub.c
> 1.116 +6 -9 src/sys/ufs/ffs/ffs_vfsops.c
> 1.63 +31 -20 src/sys/ufs/ffs/ffs_vnops.c
> 1.27 +2 -2 src/sys/ufs/ufs/ufs_extern.h
> 1.32 +11 -8 src/sys/ufs/ufs/ufs_lookup.c
> 1.129 +46 -22 src/sys/ufs/ufs/ufs_vnops.c
After this update, I'm seeing the following:
panic: softdep_lock: locking against myself
syncing disks... panic: softdep_lock: locking against myself
Uptime: 18m12s
dumping to dev #ad/0x20001, offset 327808
dump ata0: resetting devices .. done
95 failed, reason: aborted from console
Automatic reboot in 15 seconds - press a key on the console to abort
--> Press a key on the console to reboot <--
I was accessing the disk fairly lightly - using exmh2 to read some
mail.
I'm actually seeing a frozen X screen. I'll try to keep my hands
off next time it drops out if you're interested in a stack trace.
--
Brian <brian@Awfulhak.org> <brian@FreeBSD.org>
<http://www.Awfulhak.org> <brian@OpenBSD.org>
Don't _EVER_ lose your sense of humour ! <brian@FreeBSD.org.uk>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001101914.TAA00351>
