首页 > 系统相关 >内存管理-16-kmalloc机制实现-初探

内存管理-16-kmalloc机制实现-初探

时间:2024-07-06 10:30:27浏览次数:16  
标签:kmalloc 16 GFP 申请 内存 初探 slab void

一、概述

slab的接口比较麻烦,kmalloc接口使用简便,其底层是基于slab缓存机制实现的,主要也是从slab缓存中拿内存对象。

//include/linux/slab.h

static __always_inline void *kmalloc(size_t size, gfp_t flags)
void kfree(const void *x)

GFP_USER: 由user发起的内存申请,可以休眠。
GFP_KERNEL: 由内核发起的内存申请,可以休眠。
GFP_ATOMIC: 不能休眠的内存申请请求,比如在中断处理函数中申请内存。
GFP_NOWAIT: 不等待,不sleep, 申请不到立即返回。
GFP_DMA: 从DMA zone分配内存。

分析kmalloc()实现,可以看到先从每CPU的链表上去拿内存,拿不到再去全局链表上去拿。

总结:当申请内存大于8KB时,会直接从伙伴系统中拿内存,当申请小于8KB的内存时,才会去slab中获取内存。

 

标签:kmalloc,16,GFP,申请,内存,初探,slab,void
From: https://www.cnblogs.com/hellokitty2/p/18286971

相关文章

  • 树莓派学习笔记18:IIC驱动_PCA9685(16路舵机驱动模块)
    今日继续学习树莓派4B4G:(RaspberryPi,简称RPi或RasPi)本人所用树莓派4B装载的系统与版本如下: 版本可用命令(lsb_release-a)查询:​​ Python版本3.7.3:​​ IIC驱动_PCA9685(16路舵机驱动模块)文章提供测试代码讲解,整体代码贴出、测试效果图目录 开启树......
  • 417、基于51单片机的热水器(燃气,温度,LCD1602,阀门PID)(程序+Proteus仿真+原理图+流程图+
    毕设帮助、开题指导、技术解答(有偿)见文未目录方案选择单片机的选择显示器选择方案一、设计功能二、Proteus仿真图单片机模块设计三、原理图四、程序源码资料包括:需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。方案选择......
  • 2016 CSP-J/NOIP万字长文复赛真题题解——秒杀T1 买铅笔,T2 回文日期,T3 海港,T4 魔法
    [NOIP2016普及组]买铅笔题干[NOIP2016普及组]买铅笔题目背景NOIP2016普及组T1题目描述P老师需要去商店买nnn支铅笔作为小朋友们参加NOIP的礼物。她发现......
  • 代码随想录算法训练营第五十二天 | 647.回文子串 516.最长回文子序列
    647.回文子串题目链接文章讲解视频讲解动态规划法动规五部曲:dp[i][j]:表示区间范围[i,j]的字串是否是回文串如果dp[i]表示下表为i的字符串有dp[i]个回文串的话,写不出递推公式,因为dp[i]和dp[i-1]没有什么关系,但如果已经知道i-j位置的字符串已经是回文串的话,只需判断i-1......
  • VMware vSphere Tanzu部署_16_TKC集群节点VM密码获取
    SupervisorControlPlaneVM密码获取通过SSH方式登录vcentervcenter开启SSH服务通过SSH工具登录vcenter执行获取密码脚本在vcentershell模式下执行/usr/lib/vmware-wcp/decryptK8Pwd.py命令WARNING!TheremoteSSHserverrejectedX11forwardingrequest.Connect......
  • 昇思25天学习打卡营第16天|ShuffleNet图像分类
    ShuffleNet网络介绍        ShuffleNetV1是由旷视科技提出的一种高效计算的卷积神经网络(CNN)模型,主要用于移动设备。与MobileNet和SqueezeNet类似,ShuffleNetV1的设计目标是利用有限的计算资源达到最佳模型精度。其核心设计是引入了PointwiseGroupConvolution和Channe......
  • 【日记】今天好忙(316 字)
    正文今天一整天都是疯忙的节奏。上午开户,一来来俩。从9点到12点,中间连轴转没停过。昨天睡得还可以,不过上午依旧很困。昨晚跟兄长打了一晚上的掳人少女人偶,没打过……宫崎英高!你罪该万死!搞这么难…….昨晚也因为去的时候在下雨,所以没什么人来练习。只有我......
  • QILSTE H11-316QSR高亮红光LED灯珠 发光二极管LED
    型号H11-316QSR,一款由QILSTE(HongKong)TechnologyCo.,Ltd生产的高亮红光LED,以其3.2×1.5×1.1mm的紧凑外观尺寸和透明平面胶体,在自动贴片机和红外线回流焊制程中展现出卓越的性能。在**最大绝对额定值**中,H11-316QSR的参数如下:消耗功率为75mW,最大脉冲电流可达100mA,正向直......
  • 代码随想录算法训练营第十三天|今天量大管饱144、145、94、102、107、199、637、429、
    今天来处理二叉树part1、2、3,顶级享受,一次到位。完全二叉树和满二叉树概念没问题。二叉搜索树,左子树所有结点的值小于它的根结点的值,右子树上所有结点的值大于它的根结点的值平衡二叉搜索树,它是一棵空树或它的左右两个子树的高度差的绝对值不超过1。二叉树的存储方式:链式存储......
  • MySQL - [16] SSL
    题记部分 一、标题  二、相关SQL(1)查看MySQL服务器是否支持SSL:SHOWVARIABLESLIKE'have_ssl';Tips:如果输出显示have_ssl的值为YES,则表明MySQL支持SSL。(2)检查SSL证书和密钥是否已被配置:SHOWVARIABLESLIKE'ssl%';Tips:查看输出结果中是否有ssl_ca、ssl_cert......