1、开源驱动代码

GitHub - NVIDIA/open-gpu-kernel-modules: NVIDIA Linux open GPU kernel module source

nvidia GPU驱动镜像下载

Index of /XFree86/Linux-x86_64

2、开源驱动缺少调试信息

把-gsplit-dwarf选择注释掉后,stap就可以正常打印出调试信息了。

3、编译开源驱动代码

make modules -j`nproc` NV_VERBOSE=1 DEBUG=1

4、安装开源驱动

  • rmmod nvidia_uvm nvidia_drm nvidia_modeset
  • sh NVIDIA-Linux-x86_64-440.31.run  --uninstall
  • sh ./NVIDIA-Linux-x86_64-515.43.04.run -m=kernel-open(-m指明需要安装的ko所在目录)

检查

​stap -e  'probe module("nvidia").function("RmIoctl") {printf ("[##nvidia##]%s -> %s, cmd=0x%x\n", thread_indent(0), ppfunc(), uint_arg(3))}'

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐