sg dma缓冲区cache同步批处理优化
当然,也有相当多的硬件并不支持CPU和外设之间的cache coherence的,这种情况下,无论是面向CPU还是device,都可能需要进行cache的clean/invalidate动作,这类动作往往比较昂贵,成为火焰图热点。结合arm64微架构的知识以及dsb的原理,这里有个优化机会,可以N个entries只发一次dsb,即最后一次性dsb等待前面的N个cache操作完成。经笔者观察,目前arm64的相关实现,采用的每个sg entry进行一个cache动作,然后就发dsb同步等待的方式。