projects
/
openwrt
/
staging
/
blogic.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b83ff1c
)
perf: Add cycles to branch_info
author
Andi Kleen
<
[email protected]
>
Sun, 10 May 2015 19:22:42 +0000
(12:22 -0700)
committer
Ingo Molnar
<
[email protected]
>
Tue, 4 Aug 2015 08:16:57 +0000
(10:16 +0200)
Intel Skylake supports reporting the time in cycles a branch in the LBR
took, to give a rough indication of the basic block performance.
Export the cycle information in the branch_info structure.
This can be done by just reusing some currently zero padding.
This is just the generic header change. The architecture
still needs to fill it in.
There's no attempt to convert to real time, as we really
want cycles here.
Signed-off-by: Andi Kleen <
[email protected]
>
Signed-off-by: Peter Zijlstra (Intel) <
[email protected]
>
Cc: Linus Torvalds <
[email protected]
>
Cc: Peter Zijlstra <
[email protected]
>
Cc: Thomas Gleixner <
[email protected]
>
Cc:
[email protected]
Link:
http://lkml.kernel.org/r/
[email protected]
Signed-off-by: Ingo Molnar <
[email protected]
>
include/uapi/linux/perf_event.h
patch
|
blob
|
history
diff --git
a/include/uapi/linux/perf_event.h
b/include/uapi/linux/perf_event.h
index 022d0acf7df086b47650e98d714b0a966cb1dde7..2881145cda86cda91621da082ebec83ae490f3c5 100644
(file)
--- a/
include/uapi/linux/perf_event.h
+++ b/
include/uapi/linux/perf_event.h
@@
-951,6
+951,7
@@
union perf_mem_data_src {
*
* in_tx: running in a hardware transaction
* abort: aborting a hardware transaction
+ * cycles: cycles from last branch (or 0 if not supported)
*/
struct perf_branch_entry {
__u64 from;
@@
-959,7
+960,8
@@
struct perf_branch_entry {
predicted:1,/* target predicted */
in_tx:1, /* in transaction */
abort:1, /* transaction abort */
- reserved:60;
+ cycles:16, /* cycle count to last branch */
+ reserved:44;
};
#endif /* _UAPI_LINUX_PERF_EVENT_H */