Re: Floppy-Problem

Autor: Werner Holtfreter <Holtfreter_at_gmx.de>
Datum: Wed, 11 Jun 2008 16:23:17 +0200
Am Dienstag, 10. Juni 2008 23:20:17 schrieb Raphael Becker:

> > mein Floppy-Laufwerk schreibt Dateien in genau 32KB-HĂ€ppchen
> > mit dazwischen liegenden Pausen von gefĂŒhlten 20 s, in denen
> > keine Kopfbewegung zu hören ist. (Bei DateigrĂ¶ĂŸen bis 32KB
> > fÀllt die Sache also kaum auf.) Das Leseverhalten ist
> > einwandfrei.
> >
> > - Log-Dateien unauffÀllig
> > - Diskette getauscht (Markenware)
> > - Laufwerk getauscht (auch gebraucht)
> > - OS getauscht (Suse10.3 gegen Knoppix)
> >
> > Problem verschwindet erst, wenn "sync" aus der fstab entfernt
> > wird!
> >
> > Was kann die Ursache sein?
>
> Könnte an 2 Stellen zustande kommen:
>
> a) Zugriff auf das Device
> b) Zugriff auf das Filesystem
>
> Wenn mountoptionen einen Unterschied darstellen, mĂŒsste es wohl
> das FS sein. Die 20sec könnten ein sync-Intervall sein.
>
> Teste mal auf einer ungemounteten aber formatierten Floppy Lese
> und Schreibzugriffe:
>
> $ dd if=/dev/fd0 of=/dev/null bs=1,2,4,8,16,32,64,128k und miss
> die Zeit

Soll wohl heißen 1k, 2k, 4k usw.
Die Zeit ist immer gleich, stellvertretend eine Messung:



werner_at_zuse:~> dd if=/dev/fd0 of=/dev/null bs=1k
1440+0 DatensÀtze ein
1440+0 DatensÀtze aus
1474560 Bytes (1,5 MB) kopiert, 47,576 s, 31,0 kB/s



> IIRC setzt das Floppylaufwerk ein Register, wenn eine Diskette
> entfernt wurde bzw. neu eungelegt wurde. Das könnte im Cache
> Verwendung finden. Deswegen zwischen jeden Test das Medium
> entfernen und neu einlegen (kurz den Auswurfknopf drĂŒcken sollte
> reichen).
>
> Schreibend ebenso auf eine leere Diskette:
>
> $ dd if=/dev/zero of=/dev/fd0 bs=1,2,4,8,16,32,64,128k
>
> ... jeweils Zeit messen und dazwischen Medium ejecten.



werner_at_zuse:~> dd if=/dev/zero of=/dev/fd0 bs=1k
dd: Schreiben von „/dev/fd0“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
1441+0 DatensÀtze ein
1440+0 DatensÀtze aus
1474560 Bytes (1,5 MB) kopiert, 97,5527 s, 15,1 kB/s
werner_at_zuse:~> dd if=/dev/zero of=/dev/fd0 bs=2k
dd: Schreiben von „/dev/fd0“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
721+0 DatensÀtze ein
720+0 DatensÀtze aus
1474560 Bytes (1,5 MB) kopiert, 97,7469 s, 15,1 kB/s



Die Meldung "kein Speicherplatz" erscheint bei den bisherigen
BlockgrĂ¶ĂŸen nach 83 s, danach geht das Schreiben hörbar weiter.

In allen folgenden BlockgrĂ¶ĂŸen erscheint "kein Speicherplatz"
bereits am Beginn des Schreibvorgangs. Darauf kann ich mir
keinen Reim machen. Die Zeit verkĂŒrzt sich insgesamt auf den
Wert fĂŒr Lesen von ganz oben:



werner_at_zuse:~> dd if=/dev/zero of=/dev/fd0 bs=4k
dd: Schreiben von „/dev/fd0“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
361+0 DatensÀtze ein
360+0 DatensÀtze aus
1474560 Bytes (1,5 MB) kopiert, 48,1761 s, 30,6 kB/s
werner_at_zuse:~> dd if=/dev/zero of=/dev/fd0 bs=8k
dd: Schreiben von „/dev/fd0“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
181+0 DatensÀtze ein
180+0 DatensÀtze aus
1474560 Bytes (1,5 MB) kopiert, 48,1763 s, 30,6 kB/s
werner_at_zuse:~> dd if=/dev/zero of=/dev/fd0 bs=16k
dd: Schreiben von „/dev/fd0“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
91+0 DatensÀtze ein
90+0 DatensÀtze aus
1474560 Bytes (1,5 MB) kopiert, 48,1761 s, 30,6 kB/s
werner_at_zuse:~> dd if=/dev/zero of=/dev/fd0 bs=32k
dd: Schreiben von „/dev/fd0“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
46+0 DatensÀtze ein
45+0 DatensÀtze aus
1474560 Bytes (1,5 MB) kopiert, 48,1849 s, 30,6 kB/s
werner_at_zuse:~> dd if=/dev/zero of=/dev/fd0 bs=64k
dd: Schreiben von „/dev/fd0“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
23+0 DatensÀtze ein
22+0 DatensÀtze aus
1474560 Bytes (1,5 MB) kopiert, 48,1788 s, 30,6 kB/s
werner_at_zuse:~> dd if=/dev/zero of=/dev/fd0 bs=128k
dd: Schreiben von „/dev/fd0“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
12+0 DatensÀtze ein
11+0 DatensÀtze aus
1474560 Bytes (1,5 MB) kopiert, 48,1647 s, 30,6 kB/s

> Das gleiche auf einer formatierten, gemounteten Diskette
> ausprobieren, zwischen den Tests auch umount/eject/mount mit den
> jeweiligen Optionen (sync oder nicht) und statt /dev/fd0 dann
> /mnt/floppy/bigfile verwenden

Zuerst schreiben ohne sync:



werner_at_zuse:~> dd if=/dev/zero of=/media/floppy/bigfile bs=1k
dd: Schreiben von „/media/floppy/bigfile“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
1424+0 DatensÀtze ein
1423+0 DatensÀtze aus
1457152 Bytes (1,5 MB) kopiert, 0,0452087 s, 32,2 MB/s
werner_at_zuse:~> umount /media/floppy/
werner_at_zuse:~> mount /media/floppy/
werner_at_zuse:~> dd if=/dev/zero of=/media/floppy/bigfile bs=128k
dd: Schreiben von „/media/floppy/bigfile“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
12+0 DatensÀtze ein
11+0 DatensÀtze aus
1454080 Bytes (1,5 MB) kopiert, 0,0225397 s, 64,5 MB/s



Reale Schreibzeit danach in beiden FĂ€llen 50 Sekunden, also in Ordnung.

Jetzt schreiben mit sync:



werner_at_zuse:~> dd if=/dev/zero of=/media/floppy/bigfile bs=1k
dd: Schreiben von „/media/floppy/bigfile“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
1424+0 DatensÀtze ein
1423+0 DatensÀtze aus
1457152 Bytes (1,5 MB) kopiert, 2013,89 s, 0,7 kB/s
werner_at_zuse:~> umount /media/floppy/
werner_at_zuse:~> mount /media/floppy/
werner_at_zuse:~> dd if=/dev/zero of=/media/floppy/bigfile bs=16k
dd: Schreiben von „/media/floppy/bigfile“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
89+0 DatensÀtze ein
88+0 DatensÀtze aus
1454080 Bytes (1,5 MB) kopiert, 1267,79 s, 1,1 kB/s
werner_at_zuse:~> umount /media/floppy/
werner_at_zuse:~> mount /media/floppy/
werner_at_zuse:~> dd if=/dev/zero of=/media/floppy/bigfile bs=32k
dd: Schreiben von „/media/floppy/bigfile“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
45+0 DatensÀtze ein
44+0 DatensÀtze aus
1454080 Bytes (1,5 MB) kopiert, 1263,68 s, 1,2 kB/s
werner_at_zuse:~> umount /media/floppy/
werner_at_zuse:~> mount /media/floppy/
werner_at_zuse:~> dd if=/dev/zero of=/media/floppy/bigfile bs=128k
dd: Schreiben von „/media/floppy/bigfile“: Auf dem GerĂ€t ist kein Speicherplatz mehr verfĂŒgbar
12+0 DatensÀtze ein
11+0 DatensÀtze aus
1454080 Bytes (1,5 MB) kopiert, 1220,42 s, 1,2 kB/s



> Ich denke, dass der schreibende Zugriff auf /dev/fd0 deutlich
> schneller geht als der (ebenfalls) sequenzielle schreibende
> Zugriff auf eine große Datei in /mnt/floppy/bigfile auf vfat.
>
> Ab irgendeiner BlockgrĂ¶ĂŸe wird die Schreib/Lesegeschwindigkeit
> nicht mehr weiter zunehmen, je nachdem, wie groß die Blöcke sind,
> die der Treiber an den Controller loswird (inkl irgendwelcher
> Puffer). Die BlockgrĂ¶ĂŸe ab der es nicht mehr schneller wird,
> kannst Du als optimal ansehen. Diese optimale BlockgrĂ¶ĂŸe könnte
> bei raw/filesystem/sync verschiedene Werte haben.

Ich will nicht die letzten 20 % optimieren, mich stört aber,
wenn der Schreibvorgang mehr als 20 mal so lang dauert. 

> Eine Messreihe könnte eine Interpretation zulassen

Ich bitte um die Interpretation.
-- 
Viele GrĂŒĂŸe
Werner Holtfreter
-- 
http://mailman.uugrn.org/mailman/listinfo/uugrn
Wiki: http://wiki.uugrn.org/wiki/UUGRN:Mailingliste
Archiv: http://lists.uugrn.org/
Empfangen am 11.06.2008

Dieses Archiv wurde generiert von hypermail 2.2.0 : 11.06.2008 CEST