Question

Quelqu'un sait-il combien de temps un UBIFS faut pour flush / synchronisation d'un fichier flash?

L'écriture passe par une opération de fwrite normale et je voudrais savoir combien de temps avant que écrire est déterminé à clignoter lorsque aucun autre écrit dans le fichier se produisent.

Dans le cas contraire, aucune façon de savoir?

Merci.

Était-ce utile?

La solution

Une lecture intéressante: http://www.linux-mtd.infradead.org/doc/ubifs.html - boutons Reprises sous Linux

Les fonctions d'écriture différée peut être accordé des appels via / proc / sys:

  • dirty_writeback_centisecs - combien de fois le fil en écriture différée périodique Linux se réveille et écrit les données sales. C'est un mécanisme qui fait que toutes les données de sale frappe les médias à un moment donné.

  • dirty_expire_centisecs - données sales expirent période. Ces données de temps maximales peuvent rester sale. Après cette période de temps, il sera réécrites par le fil en écriture différée périodique Linux. OIEau, le fil à écriture périodique se réveille tous les « dirty_writeback_centisecs » centi-secondes et synchronise les données qui a été salis « dirty_expire_centisecs » il y a centi secondes.

  • dirty_background_ratio - quantité maximale de données sales en pour cent de la mémoire totale. Lorsque la quantité de données sale devient plus grande, le fil à écriture périodique commence la synchronisation jusqu'à ce qu'il devienne plus petit. Même les données non périmés seront synchronisés. Cela peut être utilisé pour fixer une limite « soft » pour la quantité de données sales dans le système.

  • dirty_ratio - quantité maximale de données sales à laquelle les auteurs seront d'abord synchroniser les données de sales existantes avant d'ajouter plus. OIEau, ceci est une limite « dure » de la quantité de données sales dans le système.

De cette façon, nous pouvons régler le temps de synchronisation écriture différée.

Autres conseils

Il ne va pas être une constante -. Cela dépendra de beaucoup de facteurs variables

Vous pouvez utiliser fsync() sur le fichier après l'écriture, et le temps qu'il faut.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top