hello!

  (刚才的信忘记贴内容就发出起了sorry )

我写了个小模块,在模块insmod的时候 lock
了2次(代码见下),按理说第二次lock时会死锁,但是为何没有死锁?是不是debian的内核打了什么patch ?

我的测试环境是 debian 2.6.17 内核,单CPU, /boot/config-2.6.17-2-686 里 包含了CONFIG_SMP=y

uname -a 结果:
Linux falls 2.6.17-2-686 #1 SMP Wed Sep 13 16:34:10 UTC 2006 i686 GNU/Linux

测试代码:

#include <linux/module.h>

static spinlock_t silly_lock;

int silly_init(void)
{
   spin_lock_init(&silly_lock);
   printk("step1\n");
   spin_lock(&silly_lock);
   printk("step2\n");
   spin_lock(&silly_lock);
   printk("step3\n");
   return 0;
}

void silly_cleanup(void)
{
   return;
}

module_init(silly_init);
module_exit(silly_cleanup);


--
Regards
Falls Huang

回复