论文部分内容阅读
Linux内核发展迅速,已经被应用于多个平台上,但同时对Linux内核的开发和维护提出了更高的要求。为了提高调试和剖视Linux内核的效率,节约时间成本,Linux内核跟踪工具应景而生。Ftrace是基于动态探测技术的Linux内核跟踪工具,能够获取Linux内核运行的精细描述信息,以利于查找内核问题和性能瓶颈。 UniCore体系结构的软硬件协同设计复杂度不断提高,其中基于UniCore-3处理器和UniCore-2处理器的Linux内核都面临着许多内核调试问题和系统性能瓶颈。但在基于UniCore体系结构的Linux内核中,当前调试和剖视Linux内核的手段仍然不够丰富,而Ftrace则能够满足细粒度调试和剖视内核的需求,并且其兼具灵活性和稳定性,开销相对低廉。。 首先,本文总结了UniCore体系结构已经支持的Linux内核分析技术,并对比分析了当前主流的Linux内核跟踪工具。其次,论文详细阐述了Ftrace的具体设计与实现,包括控制器、数据管理和数据分析等内容。控制器是Ftrace的核心,维护整个Ftrace的框架。数据管理采用ring buffer机制。为了有效定位数据,论文还搭建了数据分析平台。然后,论文对Ftrace进行功能验证和性能评测,以保证Ftrace的可行性和有效性。功能性验证包括设计角度和用户角度两个方面,而性能评测分析了Ftrace的平均开销和对内核性能的影响。最后,论文列举了在实际工作中碰到的问题,利用Ftrace剖视内核,分析内核占用处理器时间颇高的问题,并定位问题根源。Ftrace不仅丰富了UniCore体系结构上调试和剖视Linux内核的手段,更能提高工作效率,对于推进项目进度发挥了一定的作用。