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