Marshall K. McKusick

Learn More
Large complex programs are composed of many small routines that implement abstractions for the routines that call them. To be useful, an execution profiler must attribute execution time in a way that is significant for the logical structure of a program as well as for its textual decomposition. This data must then be displayed to the user in a convenient(More)
Research results [ROSE91] demonstrate that a log-structured file system (LFS) offers the potential for dramatically improved write performance, faster recovery time, and faster file creation and deletion than traditional UNIX file systems. This paper presents a redesign and implementation of the Sprite [ROSE91] log-structured file system that is more robust(More)
1 Abstract The UNIX Fast File System (FFS) is probably the most widely-used file system for performance comparisons. However, such comparisons frequently overlook many of the performance enhancements that have been added over the past decade. In this paper, we explore the two most commonly used approaches for improving the performance of meta-data(More)
Traditionally, recovery of a BSD fast filesystem after an uncontrolled system crash such as a power failure or a system panic required the use of the filesystem checking program, ''fsck''. Because the filesystem cannot be used while it is being checked by ''fsck'', a large server may experience unacceptably long periods of unavailability after a crash.(More)
Metadata updates, such as file creation and block allocation, have consistently been identified as a source of performance, integrity, security, and availability problems for file systems. <bold>Soft updates</bold> is an implementation technique for low-cost sequencing of fine-grained updates to write-back cache blocks. Using soft updates to track and(More)
We extended the UNIX&#174; system's profiler by gathering arcs in the call graph of a program. Here is it 20 years later and this profiler is still in daily use. Why is that? It's not because there aren't well-known areas for improvement.Large complex programs are composed of many small routines that implement abstractions for the routines that call them.(More)