Пересмотрены исправления для гостевой поддержки AMD PerfMonV2 PMU
Еще в марте AMD начала рассылать исправления для поддержки PerfMonV2 с процессорами Zen 4. Этот обновленный код AMD Performance Monitoring «V2» был впервые представлен для процессоров AMD Ryzen серии 7000 и AMD EPYC серии 9004, а код PerfMonV2 на стороне хоста был объединен в Linux 5.19. Но поддержка PerfMonV2 в гостях KVM отсутствовала, в то время как сейчас работает обновленная серия исправлений для устранения этой функциональности.
Мониторинг производительности версии 2 предназначен для новых/обновленных возможностей счетчика производительности оборудования с процессорами Ryzen серии 7000 и EPYC 9004 «Zen 4». Счетчики производительности оборудования в Linux через подсистему perf все чаще используются различными сторонами для случаев отладки до использования счетчиков производительности для обратной связи / оптимизации компилятора на основе профиля во имя возможности достижения большей производительности. Новым в AMD Performance Monitoring V2 является добавление «глобальных» регистров, которые позволяют включать/отключать несколько счетчиков производительности одновременно. До этого момента с помощью AMD Performance Monitoring различные элементы управления счетчиками производительности приходилось устанавливать индивидуально, в то время как теперь их можно легко установить за один раз, используя глобальные регистры (т.е. одна запись MSR).
Хотя поддержка хоста PerfMonV2 присутствует с Linux 5.19, возможность использовать функциональность PMU PerfMonV2 в гостях KVM не была подключена, но это делается с помощью ожидающих исправлений.
Начиная с Zen4, основной PMU на платформах AMD, таких как Genoa и Ryzen-7000, будет поддерживать PerfMonV2, а также совместим с устаревшим поведением PERFCTR_CORE и адресами msr.
Если у вас нет доступа к спецификации оборудования, коммиты d6d0c7f681fd..7685665c390d для производительности хоста также могут предоставить краткий обзор. Его основное изменение — добавление трех msr, эквивалентных Intel V2, а именно global_ctrl, global_status, global_status_clear.
Стоит отметить, что эта функция очень привлекательна для снижения накладных расходов на виртуализацию PMU, поскольку множественный доступ [MSR] к нескольким счетчикам будет заменен одним доступом к глобальному регистру, а также больший прирост точности при использовании нескольких гостевых счетчиков.
Все связанные контрольные примеры передаются на коробке Genoa.
В конце прошлой недели были разосланы эти исправления для включения поддержки PerfMonV2 PMU для гостей KVM, работающих на оборудовании Zen 4. Будем надеяться, что эта работа будет считаться готовой к предстоящему циклу ядра версии 6.2.
Мониторинг производительности версии 2 предназначен для новых/обновленных возможностей счетчика производительности оборудования с процессорами Ryzen серии 7000 и EPYC 9004 «Zen 4». Счетчики производительности оборудования в Linux через подсистему perf все чаще используются различными сторонами для случаев отладки до использования счетчиков производительности для обратной связи / оптимизации компилятора на основе профиля во имя возможности достижения большей производительности. Новым в AMD Performance Monitoring V2 является добавление «глобальных» регистров, которые позволяют включать/отключать несколько счетчиков производительности одновременно. До этого момента с помощью AMD Performance Monitoring различные элементы управления счетчиками производительности приходилось устанавливать индивидуально, в то время как теперь их можно легко установить за один раз, используя глобальные регистры (т.е. одна запись MSR).
Хотя поддержка хоста PerfMonV2 присутствует с Linux 5.19, возможность использовать функциональность PMU PerfMonV2 в гостях KVM не была подключена, но это делается с помощью ожидающих исправлений.
Начиная с Zen4, основной PMU на платформах AMD, таких как Genoa и Ryzen-7000, будет поддерживать PerfMonV2, а также совместим с устаревшим поведением PERFCTR_CORE и адресами msr.
Если у вас нет доступа к спецификации оборудования, коммиты d6d0c7f681fd..7685665c390d для производительности хоста также могут предоставить краткий обзор. Его основное изменение — добавление трех msr, эквивалентных Intel V2, а именно global_ctrl, global_status, global_status_clear.
Стоит отметить, что эта функция очень привлекательна для снижения накладных расходов на виртуализацию PMU, поскольку множественный доступ [MSR] к нескольким счетчикам будет заменен одним доступом к глобальному регистру, а также больший прирост точности при использовании нескольких гостевых счетчиков.
Все связанные контрольные примеры передаются на коробке Genoa.
В конце прошлой недели были разосланы эти исправления для включения поддержки PerfMonV2 PMU для гостей KVM, работающих на оборудовании Zen 4. Будем надеяться, что эта работа будет считаться готовой к предстоящему циклу ядра версии 6.2.
Похожие публикации
Нет комментариев