On Thu, Jun 14, 2007 at 03:04:17PM -0700, Andrew Morton wrote: > fsck is single-threaded (hence no locking issues) and operates against the > blockdev pagecache and does a _lot_ of small reads (indirect blocks, > especially).
Commenting purely about the above statement (and not on large pages or block sizes), xfs-repair has had multithreaded capability for some time now. E.g. from the xfs_repair man page: -M Disable multi-threaded mode. Normally, xfs_repair runs with twice the number of threads as processors. We have the second generation multithreading code out for review right now. e.g: http://oss.sgi.com/archives/xfs/2007-06/msg00069.html xfs_repair also uses direct I/O and does it's own userspace block caching and so avoids the problems involved with low memory, context unaware cache reclaim and blockdev cache thrashing. And to top it all off, some of the prefetch smarts we added result in reading multiple sparse metadata blocks in a single, larger I/O, so repair is now often bandwidth bound rather than seek bound... All I'm trying to say here is that you shouldn't assume that the problems a particular filesystem fsck has is common to all the rest.... Cheers, Dave. -- Dave Chinner Principal Engineer SGI Australian Software Group - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/