I'm by no means an expert in this, just a guess:
On Tue, Jul 30, 2002 at 05:09:22PM +0000, T.Raykoff wrote:
> This lockup only happens under write load. Heavy reads don't cause the
> prob. Hmmmm.
>
> Not sure that it really is memory thrashing. The box is unloaded and
> really has about 1GB free, to use for buffer as it sees fit. No I/O to
> the swap file going on, cause there is no mounted swap.
>
> Check this out:
>
> dd if=/dev/zero of=/dev/hda bs=1024
>
> then:
>
> fdisk /dev/hdc
>
> "q"
>
> fdisk blocks in the close() call.... for well over 15 minutes!
>
> As soon as dd ends cause /dev/hda is at EOF, fisk::close() returns in a
> moment.
When you quit from fdisk it does a sync() right after the close(). I
suspect that fdisk gets stuck in that sync() rather than close(). (You
said strace reported close() as the last syscall - it's the last one
completed.) The write on one of the channels doesn't let sync() return.
To make sure I'd try to check (e.g. with /proc/<pid>/fd) if fdisk still
has /dev/hdc open during the dd.
Cheers,
Roman.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/