Из другого вопроса ясно, что Intel TSX читает/ набор для записи скрыт. И это понятно, тем более что это позволяет им заниматься дизайном и реализацией и, возможно, пробовать такие вещи, как фильтры Блума или что-то в этом роде.
Но когда транзакция прерывается, было бы неплохо увидеть, какой адрес или строка кэша вызвали это (когда такая вещь была причиной прерывания). Где-нибудь выставлен адрес?
hle_retired.aborted
иrtm_retired.aborted
. Это точные события, поэтому, возможно, вы могли бы увидеть, какая инструкция вызывает прерывание (но не фактический адрес). Есть несколько других счетчиков производительности для других событий TSX, таких как различные причины прерывания, а такжеrtm_retired.commit
и.start
. Я сам не использовал TSX, поэтому ИДК, насколько это полезно, когда вы пытаетесь настроить что-то, чтобы уменьшить прерывания, но я думаю, что Intel считает, что вы должны это сделать. В руководстве по оптимизации Intel также есть целая глава, посвященная TSX. - person Peter Cordes   schedule 11.10.2017