【Linux系统满足产品实时性需求】

一、背景:

        应用实时性:应用程序1以固定周期执行实时算法;

                             应用程序2以固定周期,执行串口收发;

        驱动实时性:驱动sdio接口,实现与FPGA数据交互,实现串口数据收发。

二、实时性保证:

       1、linux系统:

                打上rt_preempt补丁;

        2、linux驱动:

                sdio以工作队列方式发起sdio请求,工作队列选取hi优先级,绑定固定core3;并且通过iso_late方式隔离core3。让core3只参与sdio的中断以及工作队列。

        3、linux应用:

                deadline调度策略,保证应用程序的实时调度。

        4、系统接口:

                使用异步接口,mmap方式共享内核内存。

三、场景复杂性:

        应用程序占用CPU会比较高,特别是应用中的实时任务比较多,会占用CPU大概到60%左右,导致系统负载过大。基于RT_FULL的kernel_patch,甚至会导致cpu stall现象出现。

你可能感兴趣的:(linux,运维,服务器)