tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Removing softdep



On Sat, Jun 07, 2008 at 12:11:57AM +0100, Andrew Doran wrote:
> Hi,
> 
> Over the last year I spent quite a lot of time working on ffs and softdep.
> With softdep there are many remaining deadlock conditions and bugs that we
> know about, and it's very likely there are more to be discovered. I also
> know from experience that softdep on NetBSD does not fulfill its data
> integrity promises.
> 
> Many of these problems have existed for over 8 years, and we haven't made
> progress in resolving them. I believe that's simply because the softdep code
> is difficult and time consuming to maintain. Some of the bugs that I know of
> are easy to reproduce and particularly difficult to fix.
> 
> After 5.0 is branched we're planning to merge in the ffs journalling code
> contributed by Wasabi. It could use some performance improvements on
> multiuser systems, and maybe a few other tweaks like auto-creating the
> journal. However, it _is_ known to meet its data integrity promises, and is
> a much easier code base to maintain and work with.
> 
> So, I propose to remove softdep when we import the journalling code, and to
> go forward with the focus on improving journalling.
> 
> In the past I have discussed this with others and have been reminded of the
> merits/drawbacks of journalling compared with softdep and vice-versa. I know
> about the respective theories of operation and I don't see how they are
> relevant. From the user's perspective they both claim to provide roughly the
> same benefits in their full forms.

Strongly seconded.

From a users perspective softdep is a memory hog, stopping nearly all other
activity for many seconds when it starts writing data back to disk.

From a developers perspective it is difficult to maintain and makes working
on ufs/ffs very hard.  It is full of assumptions how other parts of the
kernel behave.

To make it usable it would need at least:
- A maintainer
- Per mount worklist management
- Approved integrity and background fsck

I suppose it would be easier to make journalling work as expected and
therefore I will praise the day when journalling comes and softdep goes.

-- 
Juergen Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig 
(Germany)


Home | Main Index | Thread Index | Old Index