Тестирование аннулирования и очистки кэша - PullRequest
3 голосов
/ 20 мая 2011

Итак, после программирования базовых подпрограмм L1 и L2, связанных с кешем, в ядре Linux (arch/arm/mm/cache-X.S), например, для процессора ARM11, есть ли тестовая утилита / программа, позволяющая проверить, работает ли кеш должным образом, чтобы сделать недействительными, флеш происходит правильно. Как мы можем обеспечить это вместо того, чтобы полагаться только на собственные программы.

Ответы [ 3 ]

1 голос
/ 07 июня 2011

Вы можете использовать подсистему perfcounters. Это в основном абстракция над счетчиками производительности ЦП, которые представляют собой аппаратные регистры, записывающие события, такие как пропуски кэша, выполненные инструкции, неправильные прогнозы веток и т. Д. Он также обеспечивает абстракцию для программных событий (sic), таких как незначительные / основные сбои страниц, миграции задач, контекст задачи переключатели и точки трассировки. Инструмент perf можно использовать для мониторинга и проверки правильности поведения кэша - например, вы можете проверить правильность очистки кэша, заполнив кэш, очистив его, измерив пропуски кеша при последующих обращениях к памяти и сравнив их. к вашему ожидаемому результату.

0 голосов
/ 03 июня 2011

Если ваш кеш использует ОЗУ, вы можете очистить ОЗУ Linux:

echo "1" > /proc/sys/vm/drop_caches
echo "0" > /proc/sys/vm/drop_caches
free -m
0 голосов
/ 20 мая 2011

Вы можете взглянуть на LMBench глубокий тест, который можно запустить практически на любой платформе Linux (я уже успешно использовал его на архитектурах x86, ARM9 и CortexA8).Вы сможете измерить производительность кэша.

...