I have gone through Chapter 36 of "Intel® 64 and IA-32 Architectures Software Developer’s Manual, Volume 3 (3A, 3B & 3C): System Programming Guide" and could understand the capabilities/features of Intel PT. However, I could not get information on how to use it. If I want to start capturing a trace, how should I proceed and where can I configure options that I am interested in? Any pointer to such information will be of great help. Once I have this information, I can follow above mentioned chapter 36 to perform analysis over the captured trace.
You can do it with Linux kernel 4.3, and these are the patch that goes in:
https://lkml.org/lkml/2013/12/11/233
https://lkml.org/lkml/2015/9/24/181
https://lkml.org/lkml/2015/9/27/45
This is on the interaction of PT with other Intel features like LBT:
https://lkml.org/lkml/2014/7/31/572
Read up the documentation at tools/perf/Documentation/intel-pt.txt on usage how to.
Andi Kleen from Intel is the originator of the patch for Skylakes/Broadwell (only these two processor support Intel PT), and he has the userspace tool for demonstrating its use for debugging:
https://github.com/andikleen/simple-pt
For example, the following are two different usage based on the tools above:
"sptcmd -c tcall taskset -c 0 ./tcall"
"sptdecode --sideband ptout.sideband --pt ptout.0".