Система отсчета ирета считает юзерспейс-инструкции в ядре
Исследование 11 реализаций x86_64 показало, что инструкция iret в ядре ошибочно включается в счётчик пользовательских инструкций, вызывая пересчёт. Это приводит к недетерминированности при воспроизведении выполнения и требует корректировки для библиотек с жёсткой детерминированностью.
- Область
- железо и чипы
- Что сделали
- Исследователи изучили 11 реализаций процессоров x86_64 и обнаружили, что аппаратные счетчики производительности часто ошибочно увеличивают свои показания (overcount) и дают разные результаты при повторном запуске, даже в строго контролируемых условиях.
- Зачем это
- Это знание необходимо для разработки библиотек и систем, требующих строгого детерминизма, например, для создания воспроизводимых симуляций или библиотек многопоточного программирования, где предсказуемость работы критична.
#x86_64#performance counter#determinism#iret#hardware



