Um die vfs.read-max Frage noch zu klären. In FreeBSD 8.1-RELEASE, sys/kern/vfs_cluster.c:
Also ist die Standardeinstellung 8. Die letzte Änderung war am "Thu Mar 13 05:49:09 2003 UTC" durch jeff@, er hat den wert von 64 auf 8 gesenkt. Es war SVN-Revision r112174. Damals wurde auch gleich das sysctl eingefügt:
Wenn da andere Werte als 8 drin stehen, muss sie jemand setzen. Ich habe jetzt aber auf die schnell nichts gefunden, wo es passieren könnte. Mein Tipp wäre ein Controller-Treiber.
EDIT: Und auch in -CURRENT (und damit 8-STABLE) steht da als Standard 8 drin.
Code:
74 static int read_max = 8;
75 SYSCTL_INT(_vfs, OID_AUTO, read_max, CTLFLAG_RW, &read_max, 0,
76 "Cluster read-ahead max block count");
Also ist die Standardeinstellung 8. Die letzte Änderung war am "Thu Mar 13 05:49:09 2003 UTC" durch jeff@, er hat den wert von 64 auf 8 gesenkt. Es war SVN-Revision r112174. Damals wurde auch gleich das sysctl eingefügt:
Code:
- Regularize variable usage in cluster_read().
- Issue the io that we will later block on prior to doing cluster read ahead
so that it is more likely to be ready when we block.
- Loop issuing clustered reads until we've exhausted the seq count supplied
by the file system.
- Use a sysctl tunable "vfs.read_max" to determine the maximum number of
blocks that we'll read ahead.
EDIT: Und auch in -CURRENT (und damit 8-STABLE) steht da als Standard 8 drin.