Jak zjistit write-cache na IDE?
Vitezslav Samel
samel na mail.cz
Pondělí Červen 4 10:31:52 CEST 2001
On Fri, Jun 01, 2001 at 02:27:09PM +0000, Cejka Rudolf wrote:
> Zdravim,
> narazil jsem na mensi problem - netusi nekdo, jak lze v Linuxu
> zjistit, zda je nebo neni na IDE disku zapnuta write-cache?
> V hdparm -i/-I/-v nic nevidim.
Ahoj Rudo!
Stacil by Ti nasledujici patch (proti hdparm-4.1 - zkouseno s jadrem
2.2.19) ?
Ahoj Vita
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.
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 10:21:45 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