En effet je ne prétends pas qu'il s'agit d'un usage particulièrement courant mais au moins d'un usage existant.
Comme je disais plus haut, ça peut être de la copie sur un même périphérique ou entre 2 périphériques.
Pour le coup, je ne vois pas trop ce que fallocate() pourrait apporter. Je ne connaissais pas et n'ai pas testé sendfile() ni splice(), merci pour l'info, je bencherai ça dès que j'aurais le temps mais je ne m'attends pas à un gain significatif.
En ce qui concerne le ring buffer, l'idée n'est pas de remplacer les pages mémoires (qui ne sont pas un buffer mais un cache) mais de tricker AIO pour forcer à maximiser la taille des IO et les débiter immédiatement. D'ailleurs les 2 paramètres à savoir taille du buffer et lecture/écriture directe sont paramétrables complètrement indépendamment.
[^] # Re: alternative
Posté par Sapristi . En réponse à la dépêche Entrevue avec Herman BRULE, développeur d'Ultracopier et de CatchChallenger. Évalué à 0.
En effet je ne prétends pas qu'il s'agit d'un usage particulièrement courant mais au moins d'un usage existant.
Comme je disais plus haut, ça peut être de la copie sur un même périphérique ou entre 2 périphériques.
Pour le coup, je ne vois pas trop ce que fallocate() pourrait apporter. Je ne connaissais pas et n'ai pas testé sendfile() ni splice(), merci pour l'info, je bencherai ça dès que j'aurais le temps mais je ne m'attends pas à un gain significatif.
En ce qui concerne le ring buffer, l'idée n'est pas de remplacer les pages mémoires (qui ne sont pas un buffer mais un cache) mais de tricker AIO pour forcer à maximiser la taille des IO et les débiter immédiatement. D'ailleurs les 2 paramètres à savoir taille du buffer et lecture/écriture directe sont paramétrables complètrement indépendamment.