- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
As we know, each core has private registers(general and fixed counter), when the process switches to another CPU, we need to re-enable counter above the current CPU.
In Linux code, the context switch does this. However, in vtune driver(sepdk), I don’t have seen anything like this, so I was wondering how vtune driver did it.
If anyone knows, please help to explain it~
Thanks
cody
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The sepdk contains 2 different drivers actually. The sep driver doesn't handle context switches at all. Basically it always collects data system-wide (per-core).
The second driver called vtss (which is usually used when you select collection with stacks) does intercept context switches and behaves in a way similar to Linux perf in per-process mode.
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Cody,
Thanks for reaching out to us. As this is an involved query regarding the internals of vtune . We are forwarding your case to SME.
Arun Jose
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The sepdk contains 2 different drivers actually. The sep driver doesn't handle context switches at all. Basically it always collects data system-wide (per-core).
The second driver called vtss (which is usually used when you select collection with stacks) does intercept context switches and behaves in a way similar to Linux perf in per-process mode.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dmitry Ryabtsev (Intel) wrote:The sepdk contains 2 different drivers actually. The sep driver doesn't handle context switches at all. Basically it always collects data system-wide (per-core).
The second driver called vtss (which is usually used when you select collection with stacks) does intercept context switches and behaves in a way similar to Linux perf in per-process mode.
Hi Dmitry,
I tried it on my system, and used the following command:
1.vtune -collect-with runsa -knob event-config=INST_RETIRED.ANY -knob enable-driverless-collection=false ls
2.vtune -collect hotspots -knob sampling-mode=hw ls
But the result indicated that the collector type is always driverless perf per-process sampling. What circumstances Vtune sampling driver would be used.
My platform information:
Name:intel(R) Processor code named Skylake
Frequency:3.504HZ
Logical CPU count:4
kernel version 5.4.0
Thanks
cody
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please check that VTune driver is installed and has correct permissions. See this article for more details: https://software.intel.com/en-us/vtune-help-building-and-installing-the-sampling-drivers-for-linux-targets

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page