Re: [PATCH 1/3] copyfile: generic_sendpage

From: Gunnar Ritter
Date: Mon Sep 06 2004 - 07:47:06 EST


Andrew Morton <akpm@xxxxxxxx> wrote:

> I discussed file->file sendfile with Linus a while back and he said
>
> > I think it was about doing a 2GB file-file sendfile, and see your system
> > grind to a halt without being able to kill it.
> >
> > That said, we have some of the same problems with just regular read/write
> > too. sendfile just makes it easier.
> >
> > We should probably make read/write be interruptible by _fatal_ signals.
> > It would require a new task state, though (TASK_KILLABLE or something, and
> > it would show up as a normal 'D' state).
>
> I don't know how much of a problem this is in practice

It is an even more serious problem in my experience. I have been
using sendfile() in my cp command at <http://heirloom.sourceforge.net>
for quite some time, and I quickly decided to send files separated in
some decently sized blocks. Otherwise if a whole file is sent at once
and the source file is e.g. on an uncached floppy disk, cp will become
uninterruptible for about a minute, which is a serious usability flaw.
The user might discover that he is copying the wrong file, or he might
simply change his mind and like to abort the copy or whatever. A
performance gain of only 10 % is neglegible in comparison to this
problem. Thus I think if copyfile() would not be interruptible by SIGINT
and friends, its practical value would be quite limited.

Gunnar
-
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/