Subject: Re: rough SA patch (works on SMP)
To: Nathan J. Williams <nathanw@wasabisystems.com>
From: Wolfgang Solfrank <ws@tools.de>
List: tech-kern
Date: 06/24/2003 19:41:03
Hi,
> Remember that SA/LWP is just a particular implementation of
> threads. Don't think about the SA/LWP stuff so much if you're writing
> a program; think about the threads, and the places where there's
> concurrency to be had. The dump(8) program is mostly about sucking
> data off of a filesystem and onto something else, and the kernel's
> own I/O concurrency is sufficent for it, I think. Threads might be
> useful if, for some reason, you wanted a single invocation of the
> dump(8) program to dump multiple filesystems to multiple targets at
> the same time.... but since you can do that with multiple standard
> dump(8) processes, I don't think there's a benefit to that compexity.
Hmm, what he probably was getting at is the "Concurrent dump mods"
implemented in dump(8). To cite the comment from tape.c:
/*
* Concurrent dump mods (Caltech) - disk block reading and tape writing
* are exported to several slave processes. While one slave writes the
* tape, the others read disk blocks; they pass control of the tape in
* a ring via signals. The parent process traverses the file system and
* sends writeheader()'s and lists of daddr's to the slaves via pipes.
* The following structure defines the instruction packets sent to slaves.
*/
Maybe this could be simplified with the help of threads, no?
BTW, did anyone think about implementing Extended Copy
(i.e. support for serverless backup) in dump?
Ciao,
Wolfgang
--
ws@TooLs.DE Wolfgang Solfrank, TooLs GmbH +49-228-985800