Fork me on GitHub
侧边栏
上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 135 下一页
摘要: 在应用程序设计过程中,内存是很重要的资源,而计算机主机的内存资源时有限的。一般而言我们可以申请到的内存是有限的,并不是想申请多大就有多大就可以申请多大的。/proc/buddyinfo文件里,就记录着系统的内存资源。 linux内核中使用了buddy算法来管理内存以减少内存碎片的产生,buddy算法 阅读全文
posted @ 2023-11-09 15:38 yooooooo 阅读(615) 评论(0) 推荐(0)
摘要: kmemleak 和kasan 都是 Linux 内核中的一些工具和特性,用于帮助进行内存错误检测和修复。然而,它们之间有一些区别: 功能:kmemleak 用于检测内核中未释放的内存泄漏,它可以跟踪内核中分配的内存块,并在系统运行时检查未释放的内存。kasan(内核地址Sanitizer)是一个内 阅读全文
posted @ 2023-11-07 11:12 yooooooo 阅读(267) 评论(0) 推荐(0)
摘要: CPU缓存什么东西?当然这个问题很多人有可能觉得比较傻,CPU缓存什么,肯定是缓存数据(代码)啊,要不然还能缓存啥,这个确实没问题,但是CPU到底缓存什么样的数据呢?因为对CPU来说,无论是指令,还是数据,都是数据,他如果要缓存,缓存的单位是啥?要缓存的内容是啥呢? 接下来咱们一点点解析这部分的内容 阅读全文
posted @ 2023-11-01 22:34 yooooooo 阅读(59) 评论(0) 推荐(0)
摘要: 于是乎,我们想到了总线,用一个统一的接口协议,设计出一个符合要求的总线,然后将ARM核和各种外设模块挂载在总线上,这样,命令和数据似乎便可以在CPU和外设之间自由穿梭。 1 AMBA总线 AMBA,英文全称为Advanced Microcontroller Bus Architecture,即高级微 阅读全文
posted @ 2023-10-30 14:24 yooooooo 阅读(578) 评论(0) 推荐(0)
摘要: 0.AMBA总线概括 AMBA(Advanced Microcontroller Bus Architecture) 总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,具有高速度低功耗等特点。 系统芯片中各个模块之间需要有接口来连接; 总线作为子系统之间共享的通信链路; 其 阅读全文
posted @ 2023-10-29 17:59 yooooooo 阅读(1442) 评论(0) 推荐(1)
摘要: CCI(Cache Coherent Interconnect)是ARM中的cache一致性控制器。 CCI-400将互连和一致性功能结合到一个模块中。它支持多达两个ACE 主节点的连接,例如: Cortex®-A7 processor Cortex-A15 processor Cortex-A17 阅读全文
posted @ 2023-10-15 10:39 yooooooo 阅读(359) 评论(0) 推荐(0)
摘要: 之前介绍通过命令行配置和使用ftrace功能,但是实际中,我们也会希望抓C/C++程序中某段代码的调度情况。笔者前不久就遇到这种问题,某个函数调用时延概率超过100ms,是为什么?这时候就需要在他们代码中使能ftrace抓执行此函数时候,任务的调度情况。 观察某段代码执行过程中的情况,ftrace提 阅读全文
posted @ 2023-10-10 10:14 yooooooo 阅读(153) 评论(0) 推荐(0)
摘要: 1 图 1 Linux profiling 手段一览 软件埋点: 手动埋点:主动调用 trace 函数来实现埋点。 Android systrace 即是这样一个例子,如图 2 和 图 3 所示 自动埋点:借助工具链,自动埋点,对函数的 entry 和 return 进行 hook。 Linux f 阅读全文
posted @ 2023-10-09 23:13 yooooooo 阅读(498) 评论(0) 推荐(1)
摘要: Linux内核的tracing buffer是一种用于存储内核跟踪数据的特殊缓冲区。它用于记录内核中发生的事件和活动,以帮助开发人员进行性能分析和故障排查。该缓冲区可以在内核运行时启用,并且可以通过特定的跟踪工具和API进行访问和分析。跟踪缓冲区可以包含一系列事件和数据,如函数调用、中断、系统调用、 阅读全文
posted @ 2023-10-09 22:37 yooooooo 阅读(70) 评论(0) 推荐(0)
摘要: 在Linux内核中,"backport printk"和"front printk"都是用于记录内核消息和调试信息的机制,但它们的工作方式和使用场景有一些区别。 "backport printk"是一种在内核中记录消息和调试信息的机制,可以将这些信息输出到控制台、串口、网络等目标。它通常用于在内核启 阅读全文
posted @ 2023-09-27 16:50 yooooooo 阅读(62) 评论(0) 推荐(0)
上一页 1 ··· 58 59 60 61 62 63 64 65 66 ··· 135 下一页