Hallo Helge, > #. type: Plain text > msgid "" > "The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment " > "restrictions similar to those of Linux 2.4. IRIX has also a B<fcntl>(2) " > "call to query appropriate alignments, and sizes. FreeBSD 4.x introduced a > " > "flag of the same name, but without alignment restrictions." > msgstr ""
Der Schalter B<O_DIRECT> wurde in SGI IRIX eingeführt, wo er Ausrichtungsbeschränkungen hat, die denen von Linux 2.4 ähnlich sind. IRIX hat außerdem einen B<fcntl>(2)-Aufruf, um geeignete Ausrichtungen und Größen abzufragen. FreeBSD 4.x führte einen gleichnamigen Schalter ein, jedoch ohne Ausrichtungsbeschränkungen. > #. type: Plain text > msgid "" > "B<O_DIRECT> support was added under Linux in kernel version 2.4.10. Older > " > "Linux kernels simply ignore this flag. Some filesystems may not implement > " > "the flag and B<open>() will fail with B<EINVAL> if it is used." > msgstr "" > "Die Unterstützung für B<O_DIRECT> wurde unter Linux in Kernel Version > 2.4.10 " "hinzugefügt. Ältere Kernel werden diesen Schalter einfach > ignorieren. Einige " "Dateisysteme könnten den Schalter nicht > implementieren und B<open>() will " "mit B<EINVAL> fehlschlagen, falls er > verwandt wird." s/will/wird/ > #. type: Plain text > msgid "" > "Applications should avoid mixing B<O_DIRECT> and normal I/O to the same " > "file, and especially to overlapping byte regions in the same file. Even " > "when the filesystem correctly handles the coherency issues in this " > "situation, overall I/O throughput is likely to be slower than using either > " > "mode alone. Likewise, applications should avoid mixing B<mmap>(2) of > files " "with direct I/O to the same files." > msgstr "" > "Anwendungen sollten das Vermischen von B<O_DIRECT> und normaler E/A auf der > " "gleichen Datei vermeiden, insbesondere für überlappende Regionen in der > " "gleichen Datei. Selbst wenn das Dateisystem die Kohärenzprobleme in > dieser " "Situation korrekt handhabt ist der Gesamt-E/A-Durchsatz > wahrscheinlich " "geringer als wenn eines der beiden Modi allein verwandt > worden wäre. " "Entsprechend sollten Anwendungen das Mischen von B<mmap>(2) > von Dateien mit " "direktem E/A auf die gleichen Dateien vermeiden." Kommas hinter »handhabt« und »geringer« s/eines/einer/ > #. type: Plain text > msgid "" > "The behavior of B<O_DIRECT> with NFS will differ from local filesystems. " > "Older kernels, or kernels configured in certain ways, may not support this > " > "combination. The NFS protocol does not support passing the flag to the " > "server, so B<O_DIRECT> I/O will bypass the page cache only on the client; " > "the server may still cache the I/O. The client asks the server to make the > " "I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>. > Some " "servers will perform poorly under these circumstances, especially > if the I/O " "size is small. Some servers may also be configured to lie to > clients about " "the I/O having reached stable storage; this will avoid the > performance " "penalty at some risk to data integrity in the event of > server power " "failure. The Linux NFS client places no alignment > restrictions on " "B<O_DIRECT> I/O." > msgstr "" Das Verhalten von B<O_DIRECT> mit NFS wird sich vom lokalen Dateisystem unterscheiden. Ältere Kernel oder Kernel, die in bestimmter Weise konfiguriert wurden, unterstützen diese Kombination möglicherweise nicht. Das NFS-Protokoll unterstützt nicht die Übergabe des Schalters an den Server, daher wird B<O_DIRECT>-E/A den Seitenzwischenspeicher nur auf dem Client umgehen. Der Server wird weiterhin die E/A zwischenspeichern. Der Client fragt den Server, um die E/A zu synchronisieren, damit die synchrone Semantik von B<O_DIRECT> aufrechterhalten wird. Einige Server werden unter diesen Umständen unzureichende Leistung erbringen, insbesondere dann, wenn die E/A-Größe gering ist. Einige Server sind möglicherweise auch so konfiguriert, dass sie ihre Clients darüber belügen, dass die E/A stabilen Speicher erreicht haben. Dies wird die Leistungsstrafe auf Risiko der Datenintegrität im Fall eines Stromausfalls verhindern. Der Linux-NFS-Client setzt keine Ausrichtungsbeschränkungen bei B<O_DIRECT>-E/A. > #. type: Plain text > msgid "" > "In summary, B<O_DIRECT> is a potentially powerful tool that should be used > " > "with caution. It is recommended that applications treat use of B<O_DIRECT> > " "as a performance option which is disabled by default." > msgstr "" > "In Zusammenfassung: B<O_DIRECT> ist ein extrem leistungsfähiges Werkzeug, " > "das mit Vorsicht verwandt werden sollte. Es wird empfohlen, dass > Anwendungen " "die Verwendung von B<O_DIRECT> als > Leistungssteigerungsoption betrachten, " "die standardmßig deaktiviert > ist." s/standardmßig/standardmäßig/ Gruß, Chris