logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

频繁分配释放内存的性能问题

  在调优程序的过程中发现对于分辨率大小不同的两个图库,程序总的运行性能数据(如FPGA kernel利用率及每张图处理的latency)差别很大,使用/usr/bin/time  –v分析程序发现测试两个图库时,报的minor falut(次缺页错误)不是一个数量级别的。  linux系统下面缺页异常主要分为四种情况。minor falut属于请求调页的一种。当malloc函数调用时,并未实际分

调度时机分析之被动调度(之系统调用返回)

分析基于内核版本2.6.12.6 在什么情况下,会触发调度?Linux进程的调度主要分为主动调度和被动调度两大类。◆主动调度主动调度就是进程自己缺少相应的所申请的资源,显示调用schedule,让出处理器。◆被动调度在整个linux运行过程中,被动调度又可细分为两种:●用户态抢占调度●内核态抢占调度 下面就结合内核代码分析上述各种调度时机的详细情况。

wait_event_interruptible_timeout函数分析

  在intel F10A进行DMA读写操作时,会首先调用queue_work函数将当前work压入工作队列中,然后调用wait_event_interruptible_timeout函数等待DMA读/写操作的完成,在调试的过程中偶尔会出现超时返回的情况。  下面结合Linux 3.9.6源码分析下wait_event_interruptible_timeout函数的实现,看看为什么会出现超时返回

通过pid查找进程task_struct结构体

    如何通过进程id查找进程的描述符task_struct?在实际的工作中,我的驱动中需要通过读取写进内存中的进程id值查找对应的进程是否还在运行,或者是已经退出。通过阅读内核代码,内核中已有相应的API函数来供我们使用。下面是我在使用过程中的一些笔记总结。    linux系统上运行的进程可能成百上千的,或者更多,如何能够快速的通过pid值反向的查找task_struct,内核的方法是通过H

Softlockup分析

在Linux环境机器上面进行测试的时候,经常会报softlockup的问题,而导致系统panic。Softlockup是内核中进行死锁检查的一种机制,在2.6.X内核中是在softlockup.c的文件中实现,在新的3.X内核中是在watchdog.c文件中实现的。Softlockup是用来检测内核长时间不发生调度的情况,它的工作原理是在内核中启动一个优先级为MAX_RT_PRIO

#linux
Mcelog笔记

    最近测试过程中panic并报如下错误:Kernel panic - not syncing: Timeout synchronizing machine check over CPUs经查找Linux内核代码是与mce相关的错误导致的系统panic。    收集mce的log信息,需要安装mcelog工具。Mcelog能够记录和统计运行在x86架构下的Linux OS的一些machine

持续集成CI之Jenkins使用指南

安装在debian下jenkins的安装方法如下:wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | apt-key add -sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.

到底了