qq_42098654 2024-11-14 15:10 采纳率: 0%
浏览 23
已结题

Android STD快速启动

万分感谢!
有人遇到相同的问题吗?(PS:AI的答案我自己也能搜到)
疑问:
1、与android的wakelock有无关联
2、如果是KVM导致的,该怎么解决
版本:Linux 5.15.119
最近在做android的内核快速启动,但是
echo disk > /sys/power/state出现下面的问题

图片


**
hibernate: Can't hibernate: no mechanism to offline secondary CPUs**

跟了代码知道了是arch/arm64/kernel/中的函数接口报错,应该是由于KVM模式的启用导致失败

int swsusp_arch_suspend(void)
{
    int ret = 0;
    unsigned long flags;
    struct sleep_stack_data state;

    if (cpus_are_stuck_in_kernel()) {
        pr_err("Can't hibernate: no mechanism to offline secondary CPUs.\n");
        return -EBUSY;
    }
.....

}
bool cpus_are_stuck_in_kernel(void)
{
    bool smp_spin_tables = (num_possible_cpus() > 1 && !have_cpu_die());

    return !!cpus_stuck_in_kernel || smp_spin_tables ||
        is_protected_kvm_enabled();
}

干脆我就直接注释掉了,但是又出现下面的报错

img

  • 写回答

22条回答 默认 最新

  • 专家-赤兔[在线] 优质创作者: 编程框架技术领域 2024-11-14 15:28
    关注

    以下回复引自免费微信小程序:皆我百晓生。 如问题解决,还请采纳。如仍有疑问,请回复留言或私信博主,以便获得更精准的帮助。

    1. 找到并删除HIBERNATE目录下的所有文件。
    2. 如果需要重启,可以使用以下命令来重新启动应用程序:
    SUDO SERVICE ANDROID-SERVICE RESTART
    
    1. 如果需要恢复,可以尝试使用以下命令从SD卡中加载应用程序:
    SUDO SDCARD /PATH/TO/YOUR/APP/DATA/FILES
    
    1. 在运行时,添加以下参数来指定是否执行HIBERNATE迁移:
    -VMARGS -XX:+UNLOCKEXPERIMENTALVMOPTIONS -XX:-USECONCMARKSWEEPGC -XX:NEXTINVOKES=0
    
    1. 最后,如果仍然无法解决,可能需要向开发者寻求帮助或考虑更换其他操作系统。
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 11月15日
  • 修改了问题 11月15日
  • 修改了问题 11月14日
  • 修改了问题 11月14日
  • 展开全部