2012-12-17 16 views

Odpowiedz

1

Według man page wywołania systemowego perf_event_open (używany wewnętrznie przez perf użyteczności publicznej na poziomie użytkownika):

  • zdarzenia sprzętowe: Wskazuje to jeden z „ogólnych” zdarzeń sprzętowych dostarczanych przez jądro
  • sprzętowej zdarzenia pamięci podręcznej: Wskazuje zdarzenie pamięci podręcznej sprzętu.

Ponad to zastanawiam się, czy to ma jakiś związek z tym, co jest nazywane są w wydarzenia architektoniczne i architektonicznych w [Intel® 64 oraz IA-32 architektury oprogramowania programisty Obsługi 3B] Intel® 64 oraz IA-32 architektury Software programisty Instrukcja 3B 2.

Bez względu na dokładne znaczenie tej kategoryzacji, cache-misses jak podano here in a previous question oraz na stronie man, o której wyżej wspomniałem, reprezentuje liczbę dostępu do pamięci, która nie może być obsługiwana przez żadną pamięć podręczną. Inaczej mówiąc, oznacza to liczbę braków w pamięci podręcznej w pamięci podręcznej ostatniego poziomu. W związku z tym myślę, że to jest to samo, co LLC-misses, niestety nie jestem w stanie potwierdzić, że na moim laptopie, ponieważ LLC-misses nie jest obsługiwany.

W odniesieniu do ostatniego pytania, koszty ponoszone przez monitorowanie wydajności powinny być bardzo niskie. Rzeczywiście, narzut wynika głównie z odczytywania wartości liczników i używania perf stat. Przypuszczam, że odczyt ten powinien zostać wykonany tylko jeden raz na końcu wykonywania (biorąc pod uwagę, że liczniki nie przepełniają):

2

Pytanie 2: Jeśli patrzę na kodzie jądra ARM ("arch/arm/kernel/perf_event_v7.c") dla perf

cache-strzela oznacza ARMV7_PERFCTR_L1_DCACHE_REFILL które oznaczają dane pierwszym poziomie pamięci podręcznej przegap Więc LLC prawdopodobnie oznacza tęskni cache niskiego poziomu (L3 prawdopodobnie)

Możesz spojrzeć na kod jądra specyficzny dla architektury, której wartość ARMV7_PERFCTR_L1_DCACHE_REFILL ma I podręcznik techniczny, aby wiedzieć, co dokładnie oznacza ta wartość. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0388i/BEHCCEAE.html

Pytanie 3: wierzę perf odczytuje liczniki z rejestrów sprzętowych (conajmniej dla HW liczników wydajności) przyzwyczajenie tak naprawdę wpływa na wydajność kodu. W rzeczywistości nie będzie to oznaczało, że kodowanie jest ukryte w kodzie. Ale niektóre gazety mówią, że kara za wydajność wynosi 5%, jeśli użyjesz perf w kodzie.

Powiązane problemy