摘要: 整体过程: 1注册register_blkdev; 2定义设备结构体以及初始化结构图sbull_dev; 3创建设备请求队列 dev->queue = blk_init_queue(sbull_request, &dev->lock); 4分配、初始化及安装相应的gendisk结构dev->gd = 阅读全文
posted @ 2016-12-28 19:46 瘋耔 阅读(436) 评论(0) 推荐(0) 编辑
摘要: disable_irq与disable_irq_nosync使用场景 Linux设备驱动,关于中断屏蔽有两个接口:disable_irq和disable_irq_nosync,该两接口使用场景如下: 1、disable_irq:在非中断处理函数中使用,会阻塞; 2、disable_irq_nosyn 阅读全文
posted @ 2016-12-28 15:39 瘋耔 阅读(1251) 评论(0) 推荐(0) 编辑
摘要: Tasklet作为一种新机制,显然可以承担更多的优点。正好这时候SMP越来越火了,因此又在tasklet中加入了SMP机制,保证同种中断只能在一个cpu上执行。在软中断时代,显然没有这种考虑。因此同一种中断可以在两个cpu上同时执行,很可能造成冲突。 Linux中断下半部处理有三种方式:软中断、ta 阅读全文
posted @ 2016-12-28 14:17 瘋耔 阅读(292) 评论(0) 推荐(0) 编辑
跳至侧栏