Pour le système de fichiers btrfs
L'essence du problème : dans l'implémentation d'origine, DISCARD est exécuté de manière synchrone avec d'autres opérations, ce qui entraîne dans certains cas des problèmes de performances, car les lecteurs doivent attendre que les commandes correspondantes se terminent, ce qui nécessite du temps supplémentaire. Cela peut poser un problème si l'implémentation DISCARD du lecteur est lente.
Avec une implémentation asynchrone, il n'est pas nécessaire d'attendre que le lecteur termine DISCARD pendant le fonctionnement normal de FS, ce qui élimine le problème en transférant cette opération en arrière-plan. L'implémentation présentée effectue également quelques optimisations. Par exemple, il attend un certain temps, craignant que le bloc ne soit bientôt utilisé de telle manière qu'il ne sert à rien d'exécuter la procédure DISCARD, et il essaie également de fusionner les régions avant d'exécuter réellement la procédure DISCARD afin de réduire le nombre total d'opérations.
Source: opennet.ru