cheduling while atomic错误求助
时间:2009-04-12
来源:互联网
BUG: scheduling while atomic: anybus_fake_db/0x00000201/343
Call Trace:
程序大致如下:
static irqreturn_t XXXX_irq_handler(int irq, void *dev_id)
{
tasklet_schedule(&XXX_tasklet);
}
在TASKLET中
static void anybus_irq_tasklet(unsigned long param)
2580 {
...
XXX_core_dpram_read();
....
}
}
static int XXX_core_dpram_read(int node, long address, void *buf,
size_t size)
{
FPRINTK_2("ANYBUS %d : Wait until device is readable.\n",node);
read_lock_bh(&anybus_core_devp[node].lock_anybus_free);
/* get the possession of the specific area */
DPRINTK_3("End wait of device read_lock_bh\n");
ret = anybus_core_dpram_apply(node, address, ret_size);
/* function error. in current version, only over area
* error is taken. */
}
会不会是在tasklet中用read_lock_bh(),而这时有产生一个中端,会产生这样的问题?
Call Trace:
程序大致如下:
static irqreturn_t XXXX_irq_handler(int irq, void *dev_id)
{
tasklet_schedule(&XXX_tasklet);
}
在TASKLET中
static void anybus_irq_tasklet(unsigned long param)
2580 {
...
XXX_core_dpram_read();
....
}
}
static int XXX_core_dpram_read(int node, long address, void *buf,
size_t size)
{
FPRINTK_2("ANYBUS %d : Wait until device is readable.\n",node);
read_lock_bh(&anybus_core_devp[node].lock_anybus_free);
/* get the possession of the specific area */
DPRINTK_3("End wait of device read_lock_bh\n");
ret = anybus_core_dpram_apply(node, address, ret_size);
/* function error. in current version, only over area
* error is taken. */
}
会不会是在tasklet中用read_lock_bh(),而这时有产生一个中端,会产生这样的问题?
作者: njkzkj 发布时间: 2009-04-12
痛苦了几天,算是整明白了
首先在底半部如果用tasklet的话是不允许睡眠的
很不幸,down是会睡眠的
可以采用的方法是代码优化,或者只采用workqueue(可以睡眠)
但要注意在workqueue里面睡眠的话,就要在Hard_interrupt/timer里面处理
一下唤醒的问题
首先在底半部如果用tasklet的话是不允许睡眠的
很不幸,down是会睡眠的
可以采用的方法是代码优化,或者只采用workqueue(可以睡眠)
但要注意在workqueue里面睡眠的话,就要在Hard_interrupt/timer里面处理
一下唤醒的问题
作者: njkzkj 发布时间: 2009-04-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28