Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test_stat_intel_tpebs.sh   Sprache: Shell

 
#!/bin/bash
# test Intel TPEBS counting mode (exclusive)
# SPDX-License-Identifier: GPL-2.0

set -e

ParanoidAndNotRoot() {
  [ "$(id -u)" != 0 ] && [ "$(cat /proc/sys/kernel/perf_event_paranoid)" -gt $1 ]
}

if ! grep -q GenuineIntel /proc/cpuinfo
then
  echo "Skipping non-Intel"
  exit 2
fi

if ParanoidAndNotRoot 0
then
  echo "Skipping paranoid >0 and not root"
  exit 2
fi

stat_output=$(mktemp /tmp/__perf_stat_tpebs_output.XXXXX)

cleanup() {
  rm -rf "${stat_output}"
  trap - EXIT TERM INT
}

trap_cleanup() {
  echo "Unexpected signal in ${FUNCNAME[1]}"
  cat "${stat_output}"
  cleanup
  exit 1
}
trap trap_cleanup EXIT TERM INT

# Event to be used in tests
event=cache-misses

if ! perf record -e "${event}:p" -a -o /dev/null sleep 0.01 > "${stat_output}" 2>&1
then
  echo "Missing ${event} support"
  cleanup
  exit 2
fi

test_with_record_tpebs() {
  echo "Testing with --record-tpebs"
  if ! perf stat -e "${event}:R" --record-tpebs -a sleep 0.01 > "${stat_output}" 2>&1
  then
    echo "Testing with --record-tpebs [Failed perf stat]"
    cat "${stat_output}"
    exit 1
  fi

  # Expected output:
  # $ perf stat --record-tpebs -e cache-misses:R -a sleep 0.01
  # Events enabled
  # [ perf record: Woken up 2 times to write data ]
  # [ perf record: Captured and wrote 0.056 MB - ]
  #
  #  Performance counter stats for 'system wide':
  #
  #                  0      cache-misses:R
  #
  #        0.013963299 seconds time elapsed
  if ! grep "perf record" "${stat_output}"
  then
    echo "Testing with --record-tpebs [Failed missing perf record]"
    cat "${stat_output}"
    exit 1
  fi
  if ! grep "${event}:R" "${stat_output}" && ! grep "/${event}/R" "${stat_output}"
  then
    echo "Testing with --record-tpebs [Failed missing event name]"
    cat "${stat_output}"
    exit 1
  fi
  echo "Testing with --record-tpebs [Success]"
}

test_with_record_tpebs
cleanup
exit 0

Messung V0.5
C=83 H=100 G=91

¤ Dauer der Verarbeitung: 0.10 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge