Update perf auto profile script
- Fix gen_autofdo_event: The download URL for the Intel Perfmon Event list has changed, as well as the JSON format. Also it now uses pattern matching to match CPUs. Update the script to support all of this. - Regenerate gcc-auto-profile with the latest published Intel model numbers, so it works with recent systems. - So far it's still broken on hybrid systems contrib/ChangeLog: * gen_autofdo_event.py: Update for download server changes gcc/ChangeLog * config/i386/gcc-auto-profile: Regenerate.
This commit is contained in:
parent
de5f3bbf95
commit
950fa8552b
2 changed files with 12 additions and 4 deletions
|
@ -32,8 +32,9 @@ import json
|
|||
import argparse
|
||||
import collections
|
||||
import os
|
||||
import fnmatch
|
||||
|
||||
baseurl = "https://download.01.org/perfmon"
|
||||
baseurl = "https://raw.githubusercontent.com/intel/perfmon/main"
|
||||
|
||||
target_events = ('BR_INST_RETIRED.NEAR_TAKEN',
|
||||
'BR_INST_EXEC.TAKEN',
|
||||
|
@ -74,7 +75,7 @@ def get_cpustr():
|
|||
def find_event(eventurl, model):
|
||||
print("Downloading", eventurl, file = sys.stderr)
|
||||
u = urllib.request.urlopen(eventurl)
|
||||
events = json.loads(u.read())
|
||||
events = json.loads(u.read())["Events"]
|
||||
u.close()
|
||||
|
||||
found = 0
|
||||
|
@ -102,7 +103,7 @@ found = 0
|
|||
cpufound = 0
|
||||
for j in u:
|
||||
n = j.rstrip().decode().split(',')
|
||||
if len(n) >= 4 and (args.all or n[0] == cpu) and n[3] == "core":
|
||||
if len(n) >= 4 and (args.all or fnmatch.fnmatch(cpu, n[0])) and n[3] == "core":
|
||||
components = n[0].split("-")
|
||||
model = components[2]
|
||||
model = int(model, 16)
|
||||
|
|
|
@ -43,8 +43,10 @@ model*:\ 47|\
|
|||
model*:\ 37|\
|
||||
model*:\ 44) E="cpu/event=0x88,umask=0x40/$FLAGS" ;;
|
||||
model*:\ 55|\
|
||||
model*:\ 74|\
|
||||
model*:\ 77|\
|
||||
model*:\ 76|\
|
||||
model*:\ 90|\
|
||||
model*:\ 92|\
|
||||
model*:\ 95|\
|
||||
model*:\ 87|\
|
||||
|
@ -75,14 +77,19 @@ model*:\ 165|\
|
|||
model*:\ 166|\
|
||||
model*:\ 85|\
|
||||
model*:\ 85) E="cpu/event=0xC4,umask=0x20/p$FLAGS" ;;
|
||||
model*:\ 125|\
|
||||
model*:\ 126|\
|
||||
model*:\ 167|\
|
||||
model*:\ 140|\
|
||||
model*:\ 141|\
|
||||
model*:\ 143|\
|
||||
model*:\ 207|\
|
||||
model*:\ 106|\
|
||||
model*:\ 108) E="cpu/event=0xc4,umask=0x20/p$FLAGS" ;;
|
||||
model*:\ 134|\
|
||||
model*:\ 150) E="cpu/event=0xc4,umask=0xfe/p$FLAGS" ;;
|
||||
model*:\ 150|\
|
||||
model*:\ 156|\
|
||||
model*:\ 190) E="cpu/event=0xc4,umask=0xfe/p$FLAGS" ;;
|
||||
*)
|
||||
echo >&2 "Unknown CPU. Run contrib/gen_autofdo_event.py --all --script to update script."
|
||||
exit 1 ;;
|
||||
|
|
Loading…
Add table
Reference in a new issue