Re: [BUG] Race with iput and umount

From: Andrew Morton
Date: Sat Oct 02 2004 - 17:27:19 EST


viro@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wrote:
>
> the goal of that kludge was to postpone the final
> iput() past the unlocking the parent for the sake of contention if a wunch
> of bankers is doing parallel unlink() on files in the same directory

The problematic workloads are much simpler than that: simply a kernel
compile when there's a lot of writeout happening to the same disk.

Truncation of files in /tmp takes a long time because it has to wait for
in-flight writeout. If we do that synchronous I/O while holding i_sem,
nobody else can get at /tmp.

"When there is a continuous streaming write to the same disk, this patch
reduces the time for `make -j4 bzImage' from 370 seconds to 220."

Yeah, the tweak is not pretty, but that's a significant speedup.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/