Fork me on GitHub
侧边栏
上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 135 下一页
摘要: 1. 简介 Android的ION子系统的目的主要是通过在硬件设备和用户空间之间分配和共享内存,实现设备之间零拷贝共享内存。说来简单,其实不易。在Soc硬件中,许多设备可以进行DMA,这些设备可能有不同的能力,以及不同的内存访问机制。 ION是Google在Android 4.0 ICS中引入,用于 阅读全文
posted @ 2024-03-21 10:55 yooooooo 阅读(335) 评论(0) 推荐(0)
摘要: 使能KSM KSM只会处理通过madvise系统调用显式指定的用户进程地址空间,因此用户程序想使用这个功能就必须在分配地址空间时显式地调用madvise(addr,length,MADV_MERGEA BLE)。如果用户想在KSM中取消某一个用户进程地址空间的合并功能,也需要显式地调用madvise 阅读全文
posted @ 2024-03-20 14:56 yooooooo 阅读(129) 评论(0) 推荐(0)
摘要: 本文主要介绍 Armv8/v9 指令集架构中常用部分,详细的还是要看 Arm architecture reference manual. ARMv8 架构 ARMv8 架构支持3种指令集: T32, A32, A64 ARMv8 架构有两种执行状态: AArch32, AArch64 一个App 阅读全文
posted @ 2024-03-16 21:22 yooooooo 阅读(1124) 评论(0) 推荐(0)
摘要: Exception levels ARMv8-A系列定义了一系列的异常等级,从EL0到EL3,下面具体说明其含义: ELn中,随着n的增加,软件的执行权限也相应的增加; EL0被称为无特权执行; EL2提供了对虚拟化的支持 EL3提供了安全状态切换功能(安全状态与非安装状态之间的切换) 异常级别的切 阅读全文
posted @ 2024-03-14 23:34 yooooooo 阅读(1481) 评论(0) 推荐(0)
摘要: DMA应该多多少少知道点吧。DMA(Direct Memory Access)是指在外接可以不用CPU干预,直接把数据传输到内存的技术。这个过程中可以把CPU解放出来,可以很好的提升系统性能。那么DMA和Cache有什么关系呢?这也需要我们关注? 需要解决什么问题 我们知道DMA可以帮我们在I/O和 阅读全文
posted @ 2024-03-12 12:15 yooooooo 阅读(296) 评论(0) 推荐(0)
摘要: 1. 介绍 BTF(BPF Type Format)是内嵌在BPF(Berkeley Packet Filter)程序中的数据结构描述信息。BPF原本是用于数据包过滤的编程语言,但随着eBPF(extended BPF)的发展,它的用途已经扩展到多种内核子系统中,包括性能监测、网络安全和配置管理等。 阅读全文
posted @ 2024-03-07 23:39 yooooooo 阅读(583) 评论(0) 推荐(0)
摘要: 以bitehist为例: 使用BPF之前: 1、在内核中:开启磁盘IO事件的插桩观测。 2、在内核中,针对每个事件:向perf缓冲区写入一条记录。如果使用了跟踪点技术(推荐方式),记录中会包含关于磁盘IO的几个元数据字段。 3、在用户空间:周期性地将所有事件的缓冲区内容复制到用户空间4。在用户空间: 阅读全文
posted @ 2024-03-07 15:34 yooooooo 阅读(44) 评论(0) 推荐(0)
摘要: 一、配置内核 首先配置内核,使其支持导出内核页表到debugfs下面: Kernel hacking > > [*] Export kernel pagetable layout to userspace via debugfs 配置完后,重新编译内核,并用新内核启动,就会在/sys/kernel/ 阅读全文
posted @ 2024-03-03 14:43 yooooooo 阅读(157) 评论(0) 推荐(0)
摘要: 背景介绍 在开发微信看一看期间,为了进行耗时优化,基础库这层按照惯例使用tcmalloc替代glibc标配的ptmalloc做优化,CPU消耗和耗时确实有所降低。但在晚上高峰时期,在CPU刚刚超过50%之后却出现了指数上升,服务在几分钟之内不可用。最终定位到是tcmalloc在内存分配的时候使用自旋 阅读全文
posted @ 2024-02-22 20:55 yooooooo 阅读(423) 评论(0) 推荐(1)
摘要: 一、前言 C语言提供了动态内存管理功能, 在C语言中, 程序员可以使用 malloc() 和 free() 函数显式的分配和释放内存. 关于 malloc() 和free() 函数, C语言标准只是规定了它们需要实现的功能, 而没有对实现方式有什么限制, 这多少让那些追根究底的人感到有些许迷茫, 比 阅读全文
posted @ 2024-02-22 20:01 yooooooo 阅读(1366) 评论(0) 推荐(1)
上一页 1 ··· 55 56 57 58 59 60 61 62 63 ··· 135 下一页