Re: [rfc][patch 0/3] a faster buffered write deadlock fix?

From: Andrew Morton
Date: Fri Feb 09 2007 - 06:47:24 EST


On Fri, 9 Feb 2007 12:31:16 +0100 Nick Piggin <npiggin@xxxxxxx> wrote:

> > > > > But that all becomes legacy path, so do we really care? Supposing fs
> > > > > maintainers like perform_write, then after the main ones have implementations
> > > > > we could switch over to the slow-but-correct prepare_write legacy path.
> > > > > Or we could leave it, or we could use Linus's slightly-less-buggy scheme...
> > > > > by that point I expect I'd be sick of arguing about it ;)
> > > >
> > > > It's worth "arguing" about. This is write(). What matters more??
> > >
> > > That's the legacy path that uses prepare/commit (ie. supposing that all
> > > major filesystems did get converted to perform_write).
> >
> > We'll never, ever, ever update and test all filesytems. What you're
> > calling "legacy" code will be there for all time.
>
> I didn't say all; I still prefer correct than fast;

For gawd's sake. You can make the kernel less buggy by removing SMP
support.

Guess what? Tradeoffs exist.

> you are still free
> to keep the fast-and-buggy code in the legacy path.

You make it sound like this is a choice. It isn't. Nobody is going to go
in and convert all those filesystems.

> >
> > I haven't had time to look at the perform_write stuff yet.
> >
> > > Of course I would still want my correct-but-slow version in that case,
> > > but I just wouldn't care to argue if you still wanted to keep it fast.
> >
> > This is write(). We just cannot go and double-copy all the memory or take
> > mmap_sem and do a full pagetable walk in there. It just means that we
> > haven't found a suitable solution yet.
>
> You prefer speed over correctness even for little used filessytems, which
> is fine because I'm sick of arguing about it. The main thing for me is that
> important filesystems can be correct and fast.

I wouldn't characterise it as "arguing". It's development. Going and
sticking enormous slowdowns into write() to fix some bug which nobody is
hitting is insane.

We need to find a better fix, that's all.
-
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/