Оценка данных спин-блокировки

Отчет о спин-блокировке содержит следующие сведения о спин-блокировках:

  • Получение частоты выборки
  • Частота дискретизации состязаний
  • Пороговое значение спина
  • Число процессоров
  • Скорость ЦП, в мегагерцах
  • Длина трассировки в наносекундах
  • Длина трассировки в циклах

Разделы отчета о спин-блокировке

В следующих разделах отчета показано использование спин-блокировки в течение периода времени профиля.

Отдельные спин-блокировки

Каждый спин-блок отображается отдельно. Спин-блоки сортируются с помощью самых "горячих" спин-блокировок, показанных в первую очередь. Часто можно определить узкое место спин-блокировок, взглянув на несколько верхних спин-блокировок.

Для каждого спин-блокировки представлена следующая информация:

  • Тип блокировки
  • Адрес ядра блокировки
  • Символ блокировки (обратите внимание, что динамически создаваемые спин-блокировки не имеют символов)

Раздел сводного отчета

Ниже приведен сводный отчет со следующими сведениями:

  • Процент времени ЦП, затраченного на получение блокировки
  • Процент времени ЦП, затраченного на состязание за блокировку
  • Скорость получения блокировок
  • Частота столкновений
  • Скорость вращения
  • Частота состязаний, как выборка, так и нормализованная

Последние два раздела отчета — это события, пропущенные из-за прерываний, и функция release.

События, пропущенные из-за прерываний

Прерывания могут возникать при удержании спин-блокировок. В этом случае время обработки прерываний включается в время удержания спин-блокировок, а время удержания спин-блокировки кажется чрезмерно длинным. Xperf не включает события спин-блокировки, которые удерживаются во время обработки прерывания при вычислении времени удержания спин-блокировки. В Events skipped due to interrupts строке отображается количество событий, которые не были включены в вычисление. Обычно это число очень мало.

Функции выпуска

Спин-блокировку можно получить или освободить из разных путей кода. Список функций выпуска спин-блокировки отображается в конце отчета. Список отсортирован по времени удержания спин-блокировок. Также представлены дополнительные сведения о конкретной функции выпуска, например о приобретении или состязании.

Пример

В следующем примере показано, как получить сводку по данным спин-блокировки.

xperf -i example.etl -symbols -o example.txt -a spinlock -summary

В следующем примере показано, как ограничить количество возвращаемых записей пятью наиболее активными спин-блокировками.

xperf -i example.etl -symbols -o example.txt -a spinlock -summary -counts 5

Спин