下载
中文
注册

NPU算力切分后直通虚拟机,虚拟机无法启动

问题描述

虚拟机openEuler 20.03 LTS在NPU算力切分后直通虚拟机,虚拟机无法启动,出现如下打印信息:

[ 4033.328404] Call Trace:
[ 4033.328408] __schedule+0x561/0x920
[ 4033.328410] schedule+0x28/0x80
[ 4033.328412] schedule_timeout+0x179/0x380
[ 4033.328415] ? __next_timer_interrupt+0xc0/0xc0
[ 4033.328417] work_func+0xd7/0x13c [test]
[ 4033.328418] ? process_one_work+0x195/0x3d0
[ 4033.328419] ? worker_thread+0x30/0x390
[ 4033.328420] ? process_one_work+0x3d0/0x3d0
[ 4033.328422] ? kthread+0x113/0x130
[ 4033.328424] ? kthread_create_worker_on_cpu+0x70/0x70
[ 4033.328425] ? ret_from_fork+0x1f/0x40

可能原因

set_cpus_allowed_ptr函数做CPU切换或者CPU切换过程中调用栈异常。

解决方案

  1. 下载内核源代码,建议单击Link获取内核源代码。
  2. 解压内核源代码,并进入内核源代码目录。
  3. 单击Link下载.patch补丁文件,并将补丁文件复制到源代码目录。
  4. 执行如下命令,将补丁文件应用到内核源代码中。

    patch -p1 < 6d25be5782e482eb93e3de0c94d0a517879377d0.patch

  5. 编译内核并安装,具体编译步骤请参考内核源代码中的README文件或者相关文档。
  6. 执行如下命令,重启系统使新内核生效。

    reboot