ext4文件系统delayed allocation相关研究 最近在一个项目上测试录音时,发现有丢数据的现象.通过串口发现打出了很多overrun的log. overrun是驱动层给上层应用的一个通知,告诉上层数据取的太慢了,buffer被塞满了. 如果buffer塞满之后,上层仍不能及时取走数据,自然会导致数据丢失. 上层应用取数据过慢,能想到的有两个原因: 1.cpu繁忙,录音进程不能及时抢占到cpu. 2.录音进程写文件时速度过慢. 通过top命令,发现cpu并不繁忙,排除了第一种可能.…