RK3399平台开发系列讲解(内存篇)18.4kmalloc与vmalloc区别

Posted 内核笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RK3399平台开发系列讲解(内存篇)18.4kmalloc与vmalloc区别相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

平台 内核版本 安卓版本
RK3399 Linux4.4 android7.1

kmalloc与vmalloc比较

在内核中分配内存时,需要在所需的内存大小和性能之间考虑,并且必须根据它们的特性分别使用它们。
slabslubslob的单位在分配大小等方面均不同,并根据最近使用的slub指示。

kmalloc的功能

通过将连续的物理内存映射到连续的虚拟空间来分配它。

  • 如果请求的内存小于kmalloc高速缓存的最大大小,则从kmalloc高速缓存中分配slub对象。
    - 示例)4K页:kmalloc缓存(slub)最大

以上是关于RK3399平台开发系列讲解(内存篇)18.4kmalloc与vmalloc区别的主要内容,如果未能解决你的问题,请参考以下文章

RK3399平台开发系列讲解(内存篇)深刻理解虚拟内存

RK3399平台开发系列讲解(内存篇)常见内存性能问题梳理

RK3399平台开发系列讲解(内存篇)Linux缓存系统

RK3399平台开发系列讲解(内存篇)15.29物理内存管理

RK3399平台开发系列讲解(内存篇)访问虚拟内存的物理内存过程

RK3399平台开发系列讲解(内存篇)访问虚拟内存的物理内存过程