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

From: Nick Piggin
Date: Fri Feb 09 2007 - 07:11:37 EST


On Fri, Feb 09, 2007 at 03:46:44AM -0800, Andrew Morton wrote:
> On Fri, 9 Feb 2007 12:31:16 +0100 Nick Piggin <npiggin@xxxxxxx> wrote:
>
> > >
> > > 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.

I'm talking about known bugs.

> Guess what? Tradeoffs exist.

I agree that 60% is much too big of a hit for all filesystems. Which is
why I propose this new aop.

> > 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.

IMO, once all the maintained filesystems are converted then it would be
a good choice to make. You think otherwise and I won't argue.

> > >
> > > 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.

Actually I'm doing this because I try to fix real data corruption problems
which people are hitting. You told me I can't get those fixes in until I
fix this problem.

> We need to find a better fix, that's all.

I actually found perform_write to be a speedup. And if perform_write is
merged then I would be happy to not fix the prepare_write path, or wait for
someone to come up with a better fix.
-
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/