Jak zjistit write-cache na IDE?

Vitezslav Samel samel na mail.cz
Pondělí Červen 4 15:29:03 CEST 2001


> Ano, moc diky, to je presne ono. Funguje skvele.
> 
> Kdybys nahodou chtel autorovi poslat patch, pripis tam prosim,
> at se poradne zamysli nad "usually OFF by default" u parametru -W.
> Jeste nikdy jsem nevidel disk, kde by opravdu platilo, ze je
> "OFF by default" a urcite tim uvadeji v omyl.

  Patch jsem poslal, uvidime, kdy vyjde nova verze. Pro ty ostatni, kteri
spechaji, na konci je jeste jednou patch i s opravenou manovou strankou.

> > P.S. Pred nejakym casem na linux-kernel probihala diskuse proc jsou v
> > nekterych pripadech IDE disky o dost rychlejsi nez SCSI. Nakonec A. Hedrick
> > (ci jak se to jmenuje) vysvetlil, ze IDE disky maji zapnutou prave
> > write-cache a ze oproti SCSI diskum nemaji ci nepouzivaji zadny prostredek k
> > vyprazdneni teto cache nebo nepodporuji zadny analogicky prostredek jako je
> > barrier() pro pametove pristupy. Tim padem jsou nektere benchmarky silne
> > zkresleny.
> 
> A jeste navic jsem cetl, ze nektere IDE disky hodne lzou o tom,
> zda jsou nebo nejsou data fyzicky zapsana na disk, takze benchmarky
> vem cert, ale horsi je hrozba zboreneho souboroveho systemu na IDE
> po vypadku - jakykoli stabilni a spolehlivy zurnalovaci nebo jiny
> souborovy system se muze snazit sebevic, ale stejne nema sanci :-(
> Doufejme, ze se trochu vice rozsiri queue-tagging pro IDE, kde se
> da prepokladat, ze disk uz lhat nebude. Zruseni write-cache totiz
> zpusobuje hodne drasticky vykonnostni pokles :-(

  Ano, v te diskuzi na linux-kernel padlo totez. Doufejme tedy v brzkou
implementaci queue-tagging.

	Ahoj,
		Vita

P.S. Jeste dnes rano jsem o zjistovani informaci z IDE disku nemel ani pary
(pouze jsem vedel, ze neco takoveho jde ;-)) a po par kouknutich do hdparm.c
a na http://www.t13.org/technical/e00159r3.pdf (nazev: Mandatory IDENTIFY
DEVICE fields) jsem zjistil, ze to az takovy problem neni ;-)))


diff -urN hdparm-4.1.orig/hdparm.8 hdparm-4.1/hdparm.8
--- hdparm-4.1.orig/hdparm.8	Fri Mar  2 21:43:30 2001
+++ hdparm-4.1/hdparm.8	Mon Jun  4 15:06:48 2001
@@ -343,7 +343,7 @@
 required to get a confused drive back into a useable state.
 .TP
 .I -W
-Disable/enable the IDE drive's write-caching feature (usually OFF by default).
+Disable/enable the IDE drive's write-caching feature (usually ON by default).
 .TP
 .I -X 
 Set the IDE transfer mode for newer (E)IDE/ATA2 drives.
diff -urN hdparm-4.1.orig/hdparm.c hdparm-4.1/hdparm.c
--- hdparm-4.1.orig/hdparm.c	Fri Mar  2 22:01:44 2001
+++ hdparm-4.1/hdparm.c	Mon Jun  4 15:07:05 2001
@@ -17,7 +17,7 @@
 #include <sys/types.h>
 #include <linux/hdreg.h>
 #include <linux/major.h>
-#include <sys/mount.h>
+#include <linux/fs.h>
 
 #define VERSION "v4.1"
 
@@ -292,6 +292,13 @@
 			printf(": unknown setting"); 
 		else 
 			printf(": mode=0x%02X (%d)",id_regs[91]&0xFF,id_regs[91]&0xFF); 
+	} 
+	printf("\n WriteCache=%s",YN(id_regs[82]&32));
+	if (id_regs[82] & 32) { 
+		if (!(id_regs[85]&32)) 
+			printf(": disabled"); 
+		else 
+			printf(": enabled"); 
 	} 
 #ifdef __NEW_HD_DRIVE_ID
 	if ((id->minor_rev_num) || (id->major_rev_num)) {


Další informace o konferenci Linux