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

socwatch2_15 module is not loaded correctly when using kernel 6.8.x - vtune/oneapi 2024.1 version

IonutNechita
Employee
1,075 Views

Hi,

 

I notice this when trying to use VTune 2024.1 version:

Building socwatch driver ...
Building drivers for Linux target
-n switch is deprecated. Now it does not have any effect.
/lib/modules/6.8.2-lowlatency1/build will be used as the kernel build directory
Removing previously built driver and scripts from /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/drivers
-c /bin/gcc -l -k /lib/modules/6.8.2-lowlatency1/build will be used to build the SoCWatch driver
-c /bin/gcc -l -k /lib/modules/6.8.2-lowlatency1/build
************ Building socwatch2_15-x32_64-6.8.2-lowlatency1smp.ko driver ************
Using C compiler = /bin/gcc
Using kernel build dir = /lib/modules/6.8.2-lowlatency1/build
No module symvers file found
Using common inc dir = /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/../common/include
"/lib/modules/6.8.2-lowlatency1/build/include/linux/cpufreq.h" exists!
Using file name sw_driver
Make args = KERNEL_SRC_DIR=/lib/modules/6.8.2-lowlatency1/build CPUFREQ_FIX_BACKPORTED=1 DO_DEBUG_BUILD=0 DO_PROFILING=0 COMMON_INC_DIR=/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/../common/include MODULE_SYMVERS_FILE= FILE_NAME=sw_driver
make[1]: Entering directory '/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver'
make -C /lib/modules/6.8.2-lowlatency1/build M=/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver clean
make[2]: Entering directory '/usr/src/linux-headers-6.8.2-lowlatency1'
make[2]: Leaving directory '/usr/src/linux-headers-6.8.2-lowlatency1'
make[1]: Leaving directory '/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver'
Using C compiler = /bin/gcc
Using kernel build dir = /lib/modules/6.8.2-lowlatency1/build
No module symvers file found
Using common inc dir = /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/../common/include
"/lib/modules/6.8.2-lowlatency1/build/include/linux/cpufreq.h" exists!
Using file name sw_driver
Make args = KERNEL_SRC_DIR=/lib/modules/6.8.2-lowlatency1/build CPUFREQ_FIX_BACKPORTED=1 DO_DEBUG_BUILD=0 DO_PROFILING=0 COMMON_INC_DIR=/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/../common/include MODULE_SYMVERS_FILE= FILE_NAME=sw_driver
make[1]: Entering directory '/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver'
make -C /lib/modules/6.8.2-lowlatency1/build M=/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver clean
make[2]: Entering directory '/usr/src/linux-headers-6.8.2-lowlatency1'
make[2]: Leaving directory '/usr/src/linux-headers-6.8.2-lowlatency1'
************************************************************
KERNEL_SRC_DIR=/lib/modules/6.8.2-lowlatency1/build
CPUFREQ_FIX_BACKPORTED=1
MODULE_SYMVERS_FILE=
DO_DRIVER_PROFILING=0
INCDIR_1=/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/../common/include
************************************************************
make -C /lib/modules/6.8.2-lowlatency1/build M=/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver modules PWD=/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver
make[2]: Entering directory '/usr/src/linux-headers-6.8.2-lowlatency1'
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_driver.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_hardware_io.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_output_buffer.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_tracepoint_handlers.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_collector.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_mem.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_internal.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_file_ops.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_ops_provider.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_trace_notifier_provider.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_reader.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_telem.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_pmt.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_counter_list.o
  CC [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/./src/sw_pci.o
  LD [M]  /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/socwatch2_15.o
  MODPOST /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/Module.symvers
ERROR: modpost: module socwatch2_15 uses symbol pmt_telem_get_next_endpoint from namespace INTEL_PMT_TELEMETRY, but does not import it.
ERROR: modpost: module socwatch2_15 uses symbol pmt_telem_register_endpoint from namespace INTEL_PMT_TELEMETRY, but does not import it.
ERROR: modpost: module socwatch2_15 uses symbol pmt_telem_unregister_endpoint from namespace INTEL_PMT_TELEMETRY, but does not import it.
ERROR: modpost: module socwatch2_15 uses symbol pmt_telem_get_endpoint_info from namespace INTEL_PMT_TELEMETRY, but does not import it.
ERROR: modpost: module socwatch2_15 uses symbol pmt_telem_read from namespace INTEL_PMT_TELEMETRY, but does not import it.
make[4]: *** [scripts/Makefile.modpost:217: /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver/Module.symvers] Error 1
make[3]: *** [/usr/src/linux-headers-6.8.2-lowlatency1/Makefile:2084: modpost] Error 2
make[2]: *** [Makefile:257: __sub-make] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-6.8.2-lowlatency1'
make[1]: *** [Makefile:114: default] Error 2
make[1]: Leaving directory '/opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/socwatch_driver'
ERROR: Failed to build socwatch2_15-x32_64-6.8.2-lowlatency1smp.ko driver

****** Errors occurred. Please check /opt/intel/oneapi/vtune/2024.1/sepdk/src/socwatch/driver_build_errors.txt for errors and the stderr/stdout for more information ******

 

 

0 Kudos
12 Replies
yuzhang3_intel
Moderator
1,060 Views

Which platform? Kernel version is 6.8.2?

0 Kudos
IonutNechita
Employee
1,057 Views

Ubuntu 22.04 OS with kernel 6.8.2 and GCC 11.4.0 using TGL board.

0 Kudos
yuzhang3_intel
Moderator
1,055 Views

Let me check and update later. If you don't measure power, VTune should work.

0 Kudos
Jennifer_D_Intel
Moderator
872 Views

I can also validate, but I don't believe Linux kernel 6.x is supported yet for VTune.


0 Kudos
IonutNechita
Employee
860 Views

Hi @Jennifer_D_Intel ,

 

Ok. Understood. Maybe in feature will be ready for Ubuntu 24.04 LTS.

0 Kudos
zamazan4ik
Beginner
710 Views

Are there public-available plans or something like that about Linux kernel 6.x support for VTune? I also met this limitation. We use 6.x kernels since it consist of useful techs for us.

0 Kudos
Jennifer_D_Intel
Moderator
573 Views

I will follow up with the development team on the current status of kernel 6.x support. It looks like there are some issues with 6.8, but earlier than that should work.

0 Kudos
IonutNechita
Employee
557 Views

Thank you for this resolution.

 

Will be wait to have one VTune version with socwatch module correctly inserted in 6.8.x kernel.

 

Good day.

0 Kudos
Cathy
Employee
209 Views

Hi,

 

Is there any update on this? I'm on a similar kernel version and meeting similar issue. I'm on a Meteor Lake Ubuntu 22.04 with kernel 6.8 (have to upgrade kernel to beyond 6.7 to have all stabilized MTL drivers).

 

thanks

Cathy

0 Kudos
Cathy
Employee
179 Views

It seems that adding following line near MODULE_IMPORT_NS in socwatch/socwatch_driver/src/sw_driver.c will do the fix.

#ifdef MODULE_IMPORT_NS
MODULE_IMPORT_NS(INTEL_PMT);
MODULE_IMPORT_NS(INTEL_PMT_TELEMETRY);  //add this line
#endif

 

 

 

 

IonutNechita
Employee
95 Views

Hello @Cathy ,

 

Will try this week to check your change.

But i not have feedback from OneAPI and VTune Team for this issue in this period.

 

When i check your change, will be write a one note with my feedback.

Thank you Cathy for this.

A good day.

 

BR,

Ionut

0 Kudos
IonutNechita
Employee
82 Views

Hello @Cathy ,

 

I tried today with your change and is working now.

 

journalctl -b --no-pager | grep sep5-load.sh
May 20 15:06:11 my-machine sep5-load.sh[810]: Loading the sep5 driver:
May 20 15:06:11 my-machine sep5-load.sh[820]: PYTHON is set to python
May 20 15:06:11 my-machine sep5-load.sh[820]: Detecting Secure Boot status...
May 20 15:06:11 my-machine sep5-load.sh[820]: Secure Boot is disabled
May 20 15:06:11 my-machine sep5-load.sh[820]: ---------------------    Loading PAX driver    ---------------------
May 20 15:06:11 my-machine sep5-load.sh[1086]: Detecting Secure Boot status...
May 20 15:06:11 my-machine sep5-load.sh[1086]: Secure Boot is disabled
May 20 15:06:11 my-machine sep5-load.sh[1086]: Checking for PMU arbitration service (PAX) ... not detected.
May 20 15:06:11 my-machine sep5-load.sh[1086]: Attempting to start PAX service ...
May 20 15:06:11 my-machine sep5-load.sh[1086]: Executing: insmod ./pax/pax-x32_64-6.9.0-x64v2-lowlatency1smp.ko
May 20 15:06:12 my-machine sep5-load.sh[1086]: Setting group ownership of devices to group "vtune" ... done.
May 20 15:06:12 my-machine sep5-load.sh[1086]: Setting file permissions on devices to "660" ... done.
May 20 15:06:12 my-machine sep5-load.sh[1086]: The pax driver has been successfully loaded.
May 20 15:06:12 my-machine sep5-load.sh[820]: ---------------------  Loading SOCPERF driver  ---------------------
May 20 15:06:12 my-machine sep5-load.sh[1454]: Detecting Secure Boot status...
May 20 15:06:12 my-machine sep5-load.sh[1454]: Secure Boot is disabled
May 20 15:06:12 my-machine sep5-load.sh[1454]: Checking for socperf driver ... not detected.
May 20 15:06:12 my-machine sep5-load.sh[1454]: Attempting to start socperf service ...
May 20 15:06:12 my-machine sep5-load.sh[1454]: Executing: insmod ./socperf/src/socperf3-x32_64-6.9.0-x64v2-lowlatency1smp.ko
May 20 15:06:13 my-machine sep5-load.sh[1454]: Setting group ownership of devices to group "vtune" ... done.
May 20 15:06:13 my-machine sep5-load.sh[1454]: Setting file permissions on devices to "660" ... done.
May 20 15:06:13 my-machine sep5-load.sh[1454]: The socperf3 driver has been successfully loaded.
May 20 15:06:13 my-machine sep5-load.sh[820]: ---------------------    Loading SEP driver    ---------------------
May 20 15:06:13 my-machine sep5-load.sh[820]: Executing: insmod ./sep5-x32_64-6.9.0-x64v2-lowlatency1smp.ko sym_lookup_func_addr="ffffffffa480ff30"
May 20 15:06:14 my-machine sep5-load.sh[820]: Setting group ownership of devices to group "vtune" ... done.
May 20 15:06:14 my-machine sep5-load.sh[820]: Setting file permissions on devices to "660" ... done.
May 20 15:06:14 my-machine sep5-load.sh[820]: The sep5 driver has been successfully loaded.
May 20 15:06:14 my-machine sep5-load.sh[820]: ---------------------  Loading VTSSPP driver  ---------------------
May 20 15:06:14 my-machine sep5-load.sh[820]: Checking for vtsspp driver ... not detected.
May 20 15:06:15 my-machine sep5-load.sh[2035]: Executing: insmod ./vtsspp/vtsspp-x32_64-6.9.0-x64v2-lowlatency1smp.ko gid=1001 mode=0660 ksyms="ffffffffa480ff30"
May 20 15:06:15 my-machine sep5-load.sh[2035]: The vtsspp driver has been successfully loaded.
May 20 15:06:15 my-machine sep5-load.sh[820]: --------------------- Loading SOCWATCH driver ---------------------
May 20 15:06:15 my-machine sep5-load.sh[820]: Checking for socwatch driver ... not detected.
May 20 15:06:15 my-machine sep5-load.sh[2062]: Executing: insmod ./socwatch/drivers/socwatch2_15-x32_64-6.9.0-x64v2-lowlatency1smp.ko
May 20 15:06:16 my-machine sep5-load.sh[2062]: Setting group ownership of device file to group "vtune" ... done.
May 20 15:06:16 my-machine sep5-load.sh[2062]: Setting file permissions of device file to "660" ... done.
May 20 15:06:16 my-machine sep5-load.sh[2062]: The socwatch2_15-x32_64-6.9.0-x64v2-lowlatency1smp driver has been successfully loaded.
May 20 15:06:16 my-machine sep5-load.sh[2062]: NOTE:
May 20 15:06:16 my-machine sep5-load.sh[2062]: The driver is accessible only to users under the group 'vtune'.
May 20 15:06:16 my-machine sep5-load.sh[2062]: Please add the users to the group 'vtune' to use the tool.
May 20 15:06:16 my-machine sep5-load.sh[2062]: To change driver access group, reinstall the driver using -g <desired_group> option.
May 20 15:06:16 my-machine sep5-load.sh[820]: NOTE:
May 20 15:06:16 my-machine sep5-load.sh[820]: The driver is accessible only to users under the group vtune.
May 20 15:06:16 my-machine sep5-load.sh[820]: Please add the users to the group vtune to use the tool.
May 20 15:06:16 my-machine sep5-load.sh[820]: To change driver access group, reload the driver using -g <desired_group> option.

 

systemctl status sep5.service
● sep5.service - systemd script to load sep5 driver at boot time
     Loaded: loaded (/usr/lib/systemd/system/sep5.service; enabled; preset: enabled)
     Active: active (exited) since Mon 2024-05-20 15:06:16 EEST; 2min 27s ago
    Process: 810 ExecStart=/usr/local/sbin/sep5-load.sh start (code=exited, status=0/SUCCESS)
   Main PID: 810 (code=exited, status=0/SUCCESS)
        CPU: 660ms

May 20 15:06:16 my-machine sep5-load.sh[2062]: The socwatch2_15-x32_64-6.9.0-x64v2-lowlatency1smp driver has been successfully loaded.
May 20 15:06:16 my-machine sep5-load.sh[2062]: NOTE:
May 20 15:06:16 my-machine sep5-load.sh[2062]: The driver is accessible only to users under the group 'vtune'.
May 20 15:06:16 my-machine sep5-load.sh[2062]: Please add the users to the group 'vtune' to use the tool.
May 20 15:06:16 my-machine sep5-load.sh[2062]: To change driver access group, reinstall the driver using -g <desired_group> option.
May 20 15:06:16 my-machine sep5-load.sh[820]: NOTE:
May 20 15:06:16 my-machine sep5-load.sh[820]: The driver is accessible only to users under the group vtune.
May 20 15:06:16 my-machine sep5-load.sh[820]: Please add the users to the group vtune to use the tool.
May 20 15:06:16 my-machine sep5-load.sh[820]: To change driver access group, reload the driver using -g <desired_group> option.
May 20 15:06:16 my-machine systemd[1]: Finished sep5.service - systemd script to load sep5 driver at boot time.

 

My OS: Ubuntu 22.04 LTS with 6.9.0-lowlatency1.

Now my system is good for VTune.

 

Thank you @Cathy .

A good day.

0 Kudos
Reply