Et donc je commence à tomber sur des articles écrits par Linus Torvalds lui-même !
Voici quelques extraits :
Non m'sieur ça ira comme ça ! Je sens que le troll sort de sa tanière :On Thu, 11 Jan 2007, Aubrey wrote: > > Now, my question is, is there a existing way to mount a filesystem > with O_DIRECT flag? so that I don't need to change anything in my > system. If there is no option so far, What is the right way to achieve > my purpose? The right way to do it is to just not use O_DIRECT. The whole notion of "direct IO" is totally braindamaged. Just say no. This is your brain: O This is your brain on O_DIRECT: . Any questions?
I should have fought back harder. There really is no valid reason for EVER
using O_DIRECT. You need a buffer whatever IO you do, and it might as well
be the page cache. There are better ways to control the page cache than
play games and think that a page cache isn't necessary.
So don't use O_DIRECT. Use things like madvise() and posix_fadvise()
instead.
Linus
oui m'sieur Linus, la prochaine fois, faudra le dire encore plus fort !
During that time, the system is just unresponsive, read: unusable. When
I modify `cp` to use O_DIRECT for everything, the process is running in
the background and everything else just works as there was no copy running.
Le monde se divise en deux : ceux qui lancent une copie et qui vont fumer une clope, et ceux qui trouvent que la copie n'est pas assez rapide et qu'elle les empêche de coder ; alors ils vont recompiler la commande "copier" (cp), passer un paramètre en plus et recommencer !
Au final ma copie sera terminée avant la sienne, par contre la prochaine fois... il aura le temps d'écrire un post assassin sur la gestion des écritures et de l'utilisation de la mémoire cache !
Voilà j'espère que ça vous aura plu ! (Ok c'est parfaitement incompréhensible pour quelqu'un qui ne connait pas l'informatique et les systèmes d'exploitation !)
http://lkml.org/lkml/2007/1/11/144
http://lkml.org/lkml/2007/1/10/233