工具/软件:Linux
您好!
我们注意到一个问题、它会导致 mmcqd 线程在不间断状态下挂起、从而使其他线程处于饥饿状态。 如果我们在 I/O 操作期间从其插槽中卸下 SD 卡、则会发生这种情况。
检查内核时、我们注意到 MMC 层正确检测到与目标通信期间出现超时、并告知上层中止、但该线程一直尝试启动新的申请(MMC_START_REQ)、最终挂起。 OMAP-hsmmc 还标识超时、表示已传输0个字节。
虽然我知道在出现假超时的情况下应该重新尝试几次操作、但我不能找到它只是在经过合理的尝试后没有放弃的原因。
考虑到这一点、我有两个问题:
1 -是否有任何方法向 mmcqd 发出等待数据时应放弃的信号?
2 -如果我想实施一种机制来强制完成 mmcqd 线程、最好的方法是什么?
我们使用的是3.2内核、更新它不是问题。 我们的 MMC 插槽也没有用于卡检测的引脚。
此致、
吉列尔梅