Analyzers
Talk to fellow users of Intel Analyzer tools (Intel VTune™ Profiler, Intel Advisor)

Sepdk on 2.6.31-10-rt kernel

Jonathan_Lynch
Beginner
560 Views

I get an error building vtsspp "Linux kernels prior to 2.6.32 are unsupported." Is this kernel module necessary to run sepdk? If it is necessary, is there any way around this issue to run sepdk on Sepdk on 2.6.31-10-rt kernel

I am using vtune_amplifier_xe_2013_update11 with intel-vtune-amplifier-xe-sep-300544-13.1-11.noarch.rpm which I built from source.

make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-10-rt'
cp sep3_10.ko sep3_10-x32_64-2.6.31-10-rtsmp.ko
make[1]: Entering directory `/tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/pax'
/usr/bin//make -C /lib/modules/2.6.31-10-rt/build M=/tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/pax LDDINCDIR=/tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/pax/../../include LDDINCDIR1=/tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/pax/../inc modules PWD=/tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/pax
make[2]: Entering directory `/usr/src/linux-headers-2.6.31-10-rt'
  CC   /tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/pax/pax.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/pax/pax.mod.o
  LD   /tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/pax/pax.ko
make[2]: Leaving directory `/usr/src/linux-headers-2.6.31-10-rt'
cp pax.ko pax-x32_64-2.6.31-10-rtsmp.ko
make[1]: Leaving directory `/tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/pax'
make[1]: Entering directory `/tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/vtsspp'
make[2]: Entering directory `/usr/src/linux-headers-2.6.31-10-rt'
/tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/vtsspp/Makefile:124: *** Linux kernels prior to 2.6.32 are unsupported..  Stop.
make[2]: *** [_module_/tmp/opt/intel/vtune_amplifier_xe_2013/sepdk/src/vtsspp] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.31-10-rt'
make[1]: [all] Error 2 (ignored)

0 Kudos
11 Replies
David_A_Intel1
Employee
560 Views

Hi Jonathan:

The vtsspp driver is not necessary to collect event-based samples.  That is the function of the sep driver.  However, it looks like you are using a "real-time" kernel (2.6.31-10-rt) and, in general, we don't support real time kernels.  You can try it, but it may or may not work and it may or may not give correct results.  Sorry.  There are technical issues with profiling on real-time kernels that we have not tackled.

0 Kudos
Jonathan_Lynch
Beginner
560 Views

Neither the release notes nor the supported linux distros mentions anything about real time kernel versions. Is there somewhere else that documents what the issues are?
http://software.intel.com/en-us/articles/supported-linux-distributions
http://software.intel.com/sites/default/files/article/251102/release-notes-amplifier-xe-linux.pdf

0 Kudos
David_A_Intel1
Employee
560 Views

Hi Jonathan:

I stand corrected.  As log as your kernel is built with CONFIG_PREEMPT_RT the sampling driver should work.  Again, that is not vtsspp.  vtsspp is only required to collect stacks *with* samples.  Thus, all the EBS analysis types, e.g., Advanced Hotspots, General Exploration, etc., *without* stacks should work without loading vtsspp.  I apologize for my/the confusion. :(

You can see from the message, "Linux kernels prior to 2.6.32 are unsupported", that your kernel is too old to support stack-sampling for event-based samples.

So, ignoring the vtsspp message, simply load the sep driver (see insmod-sep3 script) and then collect data via amplxe-cl or amplxe-gui.

0 Kudos
Jonathan_Lynch
Beginner
560 Views

Hi,
Where can I download the sep (Sampling Enabling Product) user-space binary as documented in
http://software.intel.com/sites/default/files/article/365160/sep-users-guide.pdf
It does not appear to be included in the vtune_amplifier_xe_2013_update12.tar.gz package.
thanks
Jonathan

0 Kudos
DarvZ
Beginner
560 Views

I found sep (Sampling Enabling Product) as part of Intel System Studio.  I'm not sure if there are other places to find sep or not.

0 Kudos
Peter_W_Intel
Employee
560 Views

DarvZ wrote:

I found sep (Sampling Enabling Product) as part of Intel System Studio.  I'm not sure if there are other places to find sep or not.

# pwd
/opt/intel/system_studio_2013.0.016/vtune_amplifier_for_systems

# find . -name sep
#

I think that sep technology is in Intel System Studion, but "sep" command doesn't exist again.

0 Kudos
Jonathan_Lynch
Beginner
560 Views

I found it in when I extracted the package system_studio_target.tar.gz as part of Intel System Studio
l_cembd_p_2013.1.024/rpm/system_studio_target/sep_3.10_axeu4_linux_x32/bin
Thanks
Jonathan

0 Kudos
Jonathan_Lynch
Beginner
560 Views

Hi,

Is it possible to get SEP to sample a running process like vtune can - http://software.intel.com/sites/products/documentation/doclib/iss/2013/amplifier/lin/ug_docs/GUID-08020DB1-272E-4269-88E9-1550E363C80F.htm - I understand that I can start the process through sep but this is not ideal. Is it possible to stop the sampling and for the application to continue ?

Another option I see is that I could profile the whole system through sep and then filter the results based on the pid of the process that I want to analyse with Sfdump.

Regards

Jonathan



0 Kudos
Peter_W_Intel
Employee
560 Views

> Another option I see is that I could profile the whole system through sep and then filter the results based on the pid of the process that I want to analyse with Sfdump.

You can do this way, to filter dat by selecting process, but you can't get call stack info of hot functions - I mean if you do system wide sampling collection by using sep.

Using amplxe-cl is a good option to attach a running process, and detach it to collect data. Please find it in Helper.

0 Kudos
Jonathan_Lynch
Beginner
560 Views

Yes, but if I want to do a remote capture and analyse the results locally it is easier to use sep as it is more portable - it is < 10Mb with all binaries. The folder /opt/intel/vtune_amplifier_xe_2013 which includes amplxe-cl is over 500Mb

Ok, so sep uses event sampling, and even though I can put it in user-mode it will return information based on all user-space processes. What information will I be missing here compared to running through vtune and attaching to process?

Another question above the user-mode and hardware event sampling, other than the differences mentioned below, what extra information can we get with user one approach over the other?

0 Kudos
Peter_W_Intel
Employee
560 Views

User-mode sampling has more overhead than hardware event-based sampling, the reasons are:

1. User mode interrupt spent much time than in system mode

2. There are more workloads like as Thread APIs, Sync-objects monitoring.

0 Kudos
Reply