作者rz600000 (suedeN    )
看板LinuxDev
标题[问题] spinlock的小问题
时间Sat Dec 1 04:46:57 2007
因为不知道 spin_lock_irqsave 的用法
所以我自己写了一个小module测试一下
#include <linux/init.h>
#include <linux/module.h>
//#include <linux/list.h>
//#include <linux/vmalloc.h>
#include <linux/spinlock.h>
#include <asm/spinlock.h>
static int __init my_module_init(void)
{
printk("enter spinlock_test.....................\n");
spinlock_t my_lock = SPIN_LOCK_UNLOCKED;
unsigned long flags;
spin_lock_irqsave(&my_lock, flags);
printk("the flags is %lu \n",flags);
spin_unlock_irqrestore (&my_lock, flags);
// spin_lock(&my_lock);
// spin_unlock(&my_lock);
}
static void __exit my_module_exit(void)
{
printk("spinlock_test unload\n");
}
module_init(my_module_init);
module_exit(my_module_exit);
但编译成功後 我要insmod时会出现一个
insmod: error inserting 'spinlock_test.ko': -636854376 Function not
implemented
我在google 找好久也找不到答案 烦请帮忙
还有就是
spin_lock_irq
spin_lock_irqsave 之间的用法差在哪
我知道一个有save cpu 现在的flags 但是为什麽什麽情况下我必须要save flag
而又如何知道我不必要save flag 而使用 spin_lock_irq
两个问题烦请帮忙 谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.176.182