On 02/01/2018 17:48, Andi Kleen wrote:
Can you describe how you autogenerate the JSONs? Do you have some internal
proprietary HW file format describing events, with files supplied from HW
designer, which you can just translate into a JSON? Would the files support
deferencing events to improve scalability?

For Intel JSON is an official format, which is maintained for each CPU.
It is automatically generated from an internal database
https://download.01.org/perfmon/

I have some python scripts to convert these Intel JSONs into the perf
format (which has some additional headers, and is split into
different categories, and add metrics).

OK, understood.

Unfortunately I could not see such a database being maintained for ARM implementors.


They have some Intel specifics, so may not be useful for you.

There's no support for dereference, each CPU gets its own unique file.

Right.


But you could do the a merge simply with the attached script which merges
two JSON files.

I assume that you're talking about simply merging the micro architecture and the platform specific event JSONS at build time.

If yes, this would not work for us:
- the microarchitecture JSON would contain definitions of all events, but there is no architectural method to check if they are implemented
- we need to deal with scenario of non-standard event implementations

But I could update the script to deal with this and add to the build (Jirka looked to be ok with the same in jevents, albeit a few caveats).

All the best,
John


-Andi



Reply via email to