【Tiny6410 And Linux】—(5.2)—RamDisk 驱动实现(自己绑定 make_request_fn() )——原理

电脑总是 TMD 坏!很让人烦气!块设备实验做完了,那个令人纠结的错误竟然是自己没有在意 x86 平台和 ARM 平台的驱动,所以 Makefile 是直接 cp 以前 ARM 平台的驱动来的,一堆错误!让人蛋疼拘谨!查啊查,后来找到国嵌源码,一看 Makefile,擦!顿时石化!好了,上一篇文章是关于内核的一个 IO 调度器,对于 ramdisk、U 盘、记忆棒之类的设备,并不存
摘要由CSDN通过智能技术生成

电脑总是 TMD 坏!很让人烦气!
块设备实验做完了,那个令人纠结的错误竟然是自己没有在意 x86 平台和 ARM 平台的驱动,所以 Makefile 是直接 cp 以前 ARM 平台的驱动来的,一堆错误!
让人蛋疼拘谨!查啊查,后来找到国嵌源码,一看 Makefile,擦!顿时石化!


好了,上一篇文章是关于内核的一个 IO 调度器,对于 ramdisk、U 盘、记忆棒之类的设备,并不存在磁盘所面临的寻道时间问题,因此对这样的“块设备”而言,一个 IO 调度器不但发挥不了作用,反而其本身将白白耗掉不少内存和 CPU。

补充:
使用 blk_init_queue() 函数来初始化一个请求队列,默认会将请求队列的 make_request_fn 方法设置为内核缺省的处理函数 __make_request()。该函数会使用 IO 调度器将多个 bio 的访问顺序进行优化,整合,合并为一个请求放入请求队列。

对于上面的问题,今天主要是需要实现自己的 make_request_fn 函数,通过函数 blk_alloc_queue() 我们可以分配一个请求队列结构而不将 make_request_fn 方法设置为默认的处理函数 __make_request()。

主要过程:
①、 分配一个请求队列
blk_alloc_queue();
②、 为请求队

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值