Linux内存从0到1学习笔记(8.20 ION (二))

四,ION堆

类似于其 PMEM身,ION 管理一个或多个内存池,其中一些在启动时被预留,以对抗碎片化或满足特殊硬件需求。GPU、显示控制器和相机是一些可能具有特殊内存需求的硬件模块。ION 将其内存池呈现为 ION 堆。每种类型的 Android 设备可以根据其内存需求配置不同的 ION 堆。ION 堆的提供者必须实现以下一组回调函数:

   struct ion_heap_ops {
	int (*allocate) (struct ion_heap *heap,
			 struct ion_buffer *buffer, unsigned long len,
			 unsigned long align, unsigned long flags);//分配内存块。
	void (*free) (struct ion_buffer *buffer);//释放内存块。
	int (*phys) (struct ion_heap *heap, struct ion_buffer *buffer,
		     ion_phys_addr_t *addr, size_t *len);
	struct scatterlist *(*map_dma) (struct ion_heap *heap,
			 struct ion_buffer *buffer);//映射dma。
	void (*unmap_dma) (struct ion_heap *heap, 
	         struct ion_buffer *buffer);//解映射dma。
	void * (*map_kernel) (struct ion_heap *heap, 
	         struct ion_buffer *buffer);//将内存块映射到内核空间。
	void (*unmap_kernel) (struct ion_heap *heap, 
	         struct ion_buffer *buffer);//取消内存块在内核空间的映射。
	int (*map_user) (struct ion_heap *heap, struct 

相关推荐

  1. Linux内存01学习笔记(8.20 ION))

    2024-07-20 15:00:02       15 阅读
  2. Linux内存01学习笔记(8.19 ION简介)---更新中

    2024-07-20 15:00:02       19 阅读
  3. 01学习typescript(更新版)

    2024-07-20 15:00:02       33 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 15:00:02       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 15:00:02       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 15:00:02       45 阅读
  4. Python语言-面向对象

    2024-07-20 15:00:02       55 阅读

热门阅读

  1. 基于 Go1.19 的站点模板爬虫:构建与实战

    2024-07-20 15:00:02       20 阅读
  2. Redis

    Redis

    2024-07-20 15:00:02      15 阅读
  3. 订单管理系统需求规范

    2024-07-20 15:00:02       21 阅读
  4. E15.【C语言】练习:逗号表达式和前置后置++

    2024-07-20 15:00:02       17 阅读
  5. VScode+latex+Sumatra 环境配置

    2024-07-20 15:00:02       21 阅读
  6. 宠物健康管理新突破:智能听诊器

    2024-07-20 15:00:02       18 阅读
  7. 学习计算机

    2024-07-20 15:00:02       19 阅读
  8. 前端出发能走多远——写在前面

    2024-07-20 15:00:02       18 阅读
  9. Linux 之 grep命令详解

    2024-07-20 15:00:02       17 阅读
  10. 小程序底层原理

    2024-07-20 15:00:02       19 阅读
  11. 力扣第十八题——四数之和

    2024-07-20 15:00:02       19 阅读
  12. python处理DWG文件

    2024-07-20 15:00:02       15 阅读
  13. Mojo AI编程语言(九)网络编程:构建联网应用

    2024-07-20 15:00:02       19 阅读
  14. CSS Shapes布局

    2024-07-20 15:00:02       16 阅读