I run a simple test case with the xbegin and xend intructions provided by haswell. The test case just touched 20K continued memory bytes in the RTM protected region.(which is much smaller than the l1 cache size.) When using sdk, the test will completes without any abort event. But when I run it on a real haswell machine, it will incur a number of capacity aborts and work out after a number of retries. I want to ask in the real machine, what kind of event will cause the capacity abort except for the cache miss.
1. VTune(TM) Amplifier XE doesn't support on Emulator, for example - Intel SDE. There is no hardware PMU resource can be used, using user-mode data collectors should be OK.
2. > The test case just touched 20K continued memory bytes... I want to ask in the real machine, what kind of event will cause the capacity abort except for the cache miss
Cache Miss will not cause "abort", it's better that you can provide a simple test case to reproduce this problem. And I realize that this is not the issue of VTune(TM) Amplifier XE, you might submit this issue to other forum. Is it a compiler issue? or hardware issue?
However I suspect some events in VTune, e.g. "Machine Clear" might help on of recognizing capacity abort.