From owner-freebsd-bugs Wed Mar 8 09:00:03 1995 Return-Path: bugs-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id JAA19407 for bugs-outgoing; Wed, 8 Mar 1995 09:00:03 -0800 Received: from cs.weber.edu (cs.weber.edu [137.190.16.16]) by freefall.cdrom.com (8.6.10/8.6.6) with SMTP id JAA19393 for ; Wed, 8 Mar 1995 09:00:01 -0800 Received: by cs.weber.edu (4.1/SMI-4.1.1) id AA00888; Wed, 8 Mar 95 09:51:18 MST From: terry@cs.weber.edu (Terry Lambert) Message-Id: <9503081651.AA00888@cs.weber.edu> Subject: Re: QIC-80 problem To: joerg_wunsch@uriah.heep.sax.de Date: Wed, 8 Mar 95 9:51:18 MST Cc: henryk@gaja.ipan.lublin.pl, freebsd-bugs@FreeBSD.org In-Reply-To: <199503080658.HAA02015@uriah.heep.sax.de> from "J Wunsch" at Mar 8, 95 07:58:33 am X-Mailer: ELM [version 2.4dev PL52] Sender: bugs-owner@FreeBSD.org Precedence: bulk > As Terry Lambert wrote: > > > > > I have a 486/66 with FreeBSD. > > > I just bought a QIC 80 streamer and ftp'd an ft filter. > > > It works quite well with tar but only with "B" option. > > > When i try to use a "z" option for tar it hangs after > > > some time. > > > Precompress the data. > > > > Since the interface used by floppy tape drives is the floppy disk > > controller, and since the floppy disk controller does not have a > > buffer (or a detectable one, if you lucked into one of the new > > chips that almost no one uses) this means that it is sensitive > > in the extreme to missed I/O. > > [A very long explanation deleted.] > > Terry, you might sometimes look as well at the recipient address. > This one ended up in .pl, so i'm afraid your fine explanation might be > a bit hard to understand... (it's even hard to understand for me, even > after following this list for a long time now). Never underestimate your audience. 8-). If nothing else, I put the meat first: precompress the data. Even if you are right and he can't understand the whole thing except as broad strokes, he can see that. Actually Vadim Antonov (Saw him on "The Internet Show" last night, 'crushing the coup against Gorbachev', they said...) who now works for SprintNet wrote the BSDI ft driver and resolved most of the issues. Since he was laid off over the lawsuit, maybe he'd rewrite the free driver if someone asked nicely. > But speaking of double-buffering, it should be possible to solve the > problem by piping it through a program called ``team'', since it does > N-buffering. > > Why did nobody make a FreeBSD port for ``team'' by now? ;-) Because team just compiles up, mostly. One drawback, though: team make some assumptions about signals and pipes that are bad. While it is higher performance than ddd when it works, you could argue that it isn't even writen in C. 8-). The problems with its assumptions manifest on MP Sun machines, among others, by causing "broken pipe" messages instead of dumping output. In any case, team is insufficient for the same reason the ft filter isn't working, which is that the ft driver require that the program that is writing to it get its process quantum sufficiently frequently that it doesn't miss it's smallest timing window (subquanta). When then compression is done, system loading is such that the ft program doesn't get to do its thing (team would not either -- all it does effectively is interleave the I/O, something a single process async I/O program could do). When that happens, the driver fails to hit the window and the tape loses sync. Actually, a filter that used multiple outstanding async reads and used async writes to dump the data would probably have significantly higher performance than team because it would avoid context switching. Anyone? I want credit in the comments. 8-). I suggest "super team" so it can have a cool name like "steam". Terry Lambert terry@cs.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers.