Как сгенерировать мягкую блокировку в вытесняющем ядре?

Я включил CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC в конфигурации ядра, теперь я хочу проверить это поведение, что ядро ​​должно паниковать в случае softlockup,

Чтобы попробовать это, я создал один модуль,

int thread_function(void *data)
{
    int var;
    var = 10;
    printk(KERN_INFO "Inside %s %s\n",STR_MOD,__func__);
    //while(!kthread_should_stop()){
        while(1) {
            printk(KERN_INFO "Mutiplying...\n");
            var = var*var*var; //test
        }
    //}

    return var;
}

static int kernel_init(void)
{
    data = 20;
    printk(KERN_INFO"insmod %s\n",STR_MOD);
    /*task = kthread_create(&thread_function,(void *)data,"SD");*/
    task = kthread_run(&thread_function,(void *)data,"SD");
    set_cpus_allowed(task, *cpumask_of(0));
    printk(KERN_INFO"Kernel Thread : %s\n",task->comm);
    return 0;
}

С этим CPU 0 занята обработкой задачи и сообщает об использовании на ~99,9% top

но это не генерирует softlockup.

Итак, мой вопрос: как мне этого добиться?

0 ответов

Другие вопросы по тегам