tech-kern archive

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

Fstrans rewrite without rwlock

Fstrans(9) is currently implemented with rwlocks.  Unfortunately we
have to take and release the rwlock for every vnode operation even
when the file system is not suspending or suspended.

Attached is a complete rewrite based on passive serialization and
condvars.  The fast paths (fstrans_start/fstrans_done on a file system
not suspended or suspending and fscow_run) now run without locks or
other atomic operations.  Suspension and cow handler insertion and
removal is done with mutex / condvars.

As the API remains unchanged it could be pulled up to NetBSD-6.

Will commit by end of week -- comments?

J. Hannken-Illjes - - TU Braunschweig 

Attachment: vfs_trans.c
Description: Binary data

Home | Main Index | Thread Index | Old Index