Сколько времени требуется UBIFS для синхронизации файла с флэш-памятью

Кто-нибудь знает, сколько времени требуется UBIFS для очистки/синхронизации файла для прошивки?

Запись происходит через обычную операцию fwrite, и я хотел бы знать, сколько времени пройдет до того, как эта запись будет зафиксирована во флэш-памяти, когда не произойдет никаких других операций записи в файл.

Если нет, то как узнать?

Спасибо.


person user626201    schedule 25.07.2011    source источник


Ответы (2)


Интересное чтение: ручки обратной записи UBIFS в Linux

Функции обратной записи можно настроить с помощью вызовов /proc/sys/vm:

  • dirty_writeback_centisecs — как часто пробуждается поток периодической обратной записи Linux и записывает грязные данные. Это механизм, который гарантирует, что все грязные данные попадут на носитель в какой-то момент.

  • dirty_expire_centisecs - срок действия грязных данных. Это максимальное время, в течение которого данные могут оставаться грязными. По истечении этого периода времени он будет записан обратно потоком периодической обратной записи Linux. IOW, периодический поток обратной записи просыпается каждые dirty_writeback_centisecs сантисекунд и синхронизирует данные, которые были изменены dirty_expire_centisecs сантисекунд назад.

  • dirty_background_ratio — максимальное количество грязных данных в процентах от общего объема памяти. Когда количество грязных данных становится больше, поток периодической обратной записи начинает синхронизировать их, пока они не станут меньше. Даже данные с неистекшим сроком действия будут синхронизированы. Это может быть использовано для установки мягкого ограничения количества грязных данных в системе.

  • dirty_ratio — максимальное количество грязных данных, при котором писатели сначала синхронизируют существующие грязные данные, прежде чем добавлять новые. IOW, это жесткий лимит количества грязных данных в системе.

Таким образом, мы можем настроить время синхронизации обратной записи.

person user626201    schedule 08.09.2011

Это не будет постоянным - это будет зависеть от множества переменных факторов.

Вы можете использовать fsync() в файле после записи и указать, сколько времени это займет.

person caf    schedule 26.07.2011