嵌入式Linux中文站

文件缓存回写简述

阅读(105)

1 文件缓存回写的时机 (1)周期性回写,周期为dirty_writeback_interval,默认5s; (2)块设备首次出现脏数据; (3)脏页达到限额,包括dirty_bytes、dirty_background_bytes、dirty_ratio、dirty_background_ratio; (4)剩余内存过少,唤醒所有回写线程; (5)syscall sync,唤醒所有回写线程; (6)syscall syncfs,同步一个超级快对应的文件系统; (7)syscall fsync/fdata

Linux2.6.23 :sleepable RCU的实现

阅读(73)

一、前言 由于曾经在Linux2.6.23上工作了多年,我对这个版本还是非常有感情的(抛开感情因素,本来应该选择longterm的2.6.32版本来分析的,^_^),本文主要就是描述Linux2.6.23内核版本中对RCU有哪些修正。所谓修正主要包括两个部分,一部分是bug fixed,一部分是新增的特性。 二、issue修复 1、synchronize_kernel是什么鬼? 仅仅从符号命名上就能看出来synchronize_kernel有点格格不入,其他的rcu API都有rcu这个字符,但是sync

u-boot FIT image介绍

阅读(151)

1. 前言 Linux kernel在ARM架构中引入device tree(全称是flattened device tree,后续将会以FDT代称)的时候 [1] ,其实怀揣了一个Unify Kernel的梦想----同一个Image,可以支持多个不同的平台。随着新的ARM64架构将FDT列为必选项,并将和体系结构有关的代码剥离之后,这个梦想已经接近实现: 在编译linux kernel的时候,不必特意的指定具体的架构和SOC,只需要告诉kernel本次编译需要支持哪些板级的platform即可,最终将

开发一个 Linux 调试器(四) ELF和DWARF

阅读(92)

到目前为止,可能你已经听到了关于调试信息或者关于除了解析代码以外的理解源代码的方法的DWARF的只言片语。今天,我们将介绍源代码级的调试信息的细节,以备在该系列的余下部分使用它。 ELF和DWARF简介 ELF和DWARF可能是在程序员日常生活中经常使用但是可能却没有听说过的两个部件。ELF(Executable and Linkable Format)是Linux世界最广泛中使用的一种Object File Format;它指定了一种将各部分数据存储在二进制文件的方式,比如说代码,静态数据,调试信息,以

开发一个 Linux 调试器(三):寄存器和内存

阅读(121)

上一篇文章中,我们在调试器中加入了简单的地址断点。这一次,我们将给调试器加入读写寄存器和内存的功能,这样就可以在控制RIP,观察程序的状态,以及改变程序的行为了。 注册我们的寄存器 在我们正真的读取寄存器前,调试器需要知道一些关于x8664架构的相关知识。包括通用寄存器,专用寄存器以及浮点寄存器和向量寄存器。为了简单期间,我将省略后两者(浮点以及向量寄存器),当然如果你喜欢的话你可以选择去加入相关支持。x86_64架构也允许你用32,16或者8位的方式来访问64位寄存器,但是我将会一直使用64位的。由于简

Linux下的系统性能调优工具——Perf

阅读(151)

1. 背景知识 1.1 与性能调优相关的硬件特性 硬件特性之cache 内存读写是很快的,但还是无法和处理器的指令执行速度相比。为了从内存中读取指令和数据,处理器需要等待,用处理器的时间来衡量,这种等待非常漫长。Cache 是一种 SRAM,它的读写速率非常快,能和处理器处理

Linux下常用系统分析工具总结

阅读(218)

对于程序员来说,整个计算机系统由四个重要的模块组成,分别是:CPU,网络,磁盘,内存。在我们的程序或者系统出现问题时,我们应该分别有一定先后顺序的对这四块进行排查。而在Linux系统下,有很多高效的工具,可以帮助我们分析定位问题。本文对于Linux下常用的一些工

perf学习-linux自带性能分析工具

阅读(129)

什么是perf? Linux性能调优工具,32内核以上自带的工具,软件性能分析。在2.6.31及后续版本的linux内核里,安装perf非常的容易。 几乎能够处理所有与性能相关的事件。 什么是性能事件? 指在处理器或者操作系统中发生,可能影响到程序性能的硬件事件或者软件事情。 主要关注点在哪里? 算法优化(空间复杂度、时间复杂度)、代码优化(提到执行速度、减少内存占用) 评估程序对硬件资源的使用情况,例如各级cache的访问次数,各级cache的丢失次数、流水线停顿周期、前端总线访问次数等。 评估程序对操