免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1724 | 回复: 5
打印 上一主题 下一主题

[文件系统] SD卡如何快速卸载 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-09-21 17:57 |只看该作者 |倒序浏览

am335x + 3.2 kernel
我们在掉电时利用超级电容保护SD卡,掉电时杀死操作SD卡进程后(1S),umount SD卡。但是经过批量测试发现,有时候的umount时间会达到2-3秒,请为这是什么? 慢在哪里了?大多数是200ms umount完毕
SD卡主要用来保存摄像机数据 码率是1.5Mb SD卡读写最高速是95MB/S.超级电容能撑4秒左右。请问为什么有时umount慢呢?2-3秒是我从sys_umount执行入口获取时间到sys_umount返回的时差。完全是内核执行时候。
现在我们想在掉电时清空 mmc的队列,想在这个线程mmc_queue_thread或者issue_fn做点动作,将数据丢弃也可以 只要能卸载快点,请高手指点一下 如何做?
我试了一下blk_dequeue_request 和 blk_drain_queue都不行 ,请问该如何做?

论坛徽章:
2
寅虎
日期:2014-11-25 21:47:342015小元宵徽章
日期:2015-03-06 15:58:18
2 [报告]
发表于 2015-09-21 23:28 |只看该作者
如果你对数据一致性要求不高,请在sys_umount把你的块设备设置为offline状态,IO会立即报错返回的,用法如下:

echo offline > /sys/block/sd*/device/state

论坛徽章:
0
3 [报告]
发表于 2015-09-22 08:27 |只看该作者
echo offline > /sys/block/sd*/device/state 设置后再调用umount吗?
如果设置offline之后,内核的缓冲和FLASH之间在umount不会有数据交互吧? 我们对数据一致性要求不高

论坛徽章:
2
寅虎
日期:2014-11-25 21:47:342015小元宵徽章
日期:2015-03-06 15:58:18
4 [报告]
发表于 2015-09-22 19:14 |只看该作者
echo offline > /sys/block/sd*/device/state 设置后再调用umount吗?
【回复】你可以试试看
如果设置offline之后,内核的缓冲和FLASH之间在umount不会有数据交互吧? 我们对数据一致性要求不高
【回复】设置后,所有io都会立即报错的。

论坛徽章:
0
5 [报告]
发表于 2015-09-23 14:38 |只看该作者
我们的内核没有导出这个设备 /sys/block/sd*/device/state

论坛徽章:
2
寅虎
日期:2014-11-25 21:47:342015小元宵徽章
日期:2015-03-06 15:58:18
6 [报告]
发表于 2015-09-23 21:10 |只看该作者
回复 5# helun
/sys/block/hd*/device/state看看吧
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP