Linux内核API之内存管理
-
内存管理 – Linux内核API vmalloc_user
vmalloc_user函数功能描述:vmalloc_user( )函数的功能类似于vmalloc( )函数,它分配一块非连续地址空间,分配的物理地址一般是不连续的,但是虚拟地址是连续…… -
内存管理 – Linux内核API vmalloc_to_pfn
vmalloc_to_pfn函数功能描述:vmalloc_to_pfn( )函数的功能是找到由vmalloc( )所分配的内存的虚拟地址所映射的物理页,并返回该页在物理内存中的页框编号。 …… -
内存管理 – Linux内核API vmalloc_to_page
vmalloc_to_page函数功能描述:vmalloc_to_page( )函数的功能是找到由vmalloc( )所分配的内存的虚拟地址所映射的物理页,并返回该页的指针描述符。 关于vmall…… -
内存管理 – Linux内核API vmalloc
vmalloc函数功能描述:vmalloc( )分配一块非连续地址空间,它分配的物理地址一般不连续的,但是虚拟地址是连续的,分配的内存空间被映射进入内核数据段中,从…… -
内存管理 – Linux内核API vma_pages
vma_pages函数功能描述:vma_pages( )函数根据一个给定的进程虚拟区间,获得该区间所包含的页数。 vma_pages文件包含 #include<linux/mm.h> vma_pages…… -
内存管理 – Linux内核API vfree
vfree函数功能描述:vfree( )释放从addr开始的内存块,它一般与vmalloc( )函数一起使用,这时addr即是由vmalloc( )分配的内存块的地址,参考vmalloc( )函数的…… -
内存管理 – Linux内核API probe_kernel_read
probe_kernel_read函数功能描述:probe_kernel_read( )函数通过函数__probe_kernel_read( )安全地尝试将用户空间地址src开始的大小为size的数据块拷贝到内核…… -
内存管理 – Linux内核API probe_kernel_address
probe_kernel_address宏功能描述:probe_kernel_address( )宏安全地尝试将地址addr中的内容读入变量retval中。 probe_kernel_address文件包含 #include<li…… -
内存管理 – Linux内核API page_zone
page_zone函数功能描述:page_zone( )函数用来获取给定页框所在的区描述符。该区可为ZONE_DMA、ZONE_NORMAL或者ZONE_HIGHMEM。 page_zone文件包含 #include&l…… -
内存管理 – Linux内核API page_cache_release
page_cache_release宏功能描述:page_cache_release(page)用来减少页的引用计数,它与增加页的引用计数的宏page_cache_get(page)是对应的,二者有时可以合用…… -
内存管理 – Linux内核API page_cache_get
page_cache_get宏功能描述:宏page_cache_get(page)用来增加页的引用计数,它与page_cache_release(page)有时是合用的,作用仅是锁定页而已,最终并不增加页…… -
内存管理 – Linux内核API page_address
page_address宏功能描述:page_address( )宏的功能是获得物理页的逻辑地址。page_address( )的定义有多个版本,随内核编译时配置不同而不同。在笔者的机器上…… -
内存管理 – Linux内核API nr_free_buffer_pages
nr_free_buffer_pages函数功能描述:nr_free_buffer_pages( )函数获取在区ZONE_DMA和区ZONE_NORMAL之间的可分配的空闲页数。 nr_free_buffer_pages文件包含 #…… -
内存管理 – Linux内核API mempool_resize
mempool_resize函数功能描述:mempool_resize( )函数是重新设置内存池最多包含的元素个数,即是改变内存池描述符结构中element数组所包含的元素个数。 mempoo…… -
内存管理 – Linux内核API mempool_kmalloc
mempool_kmalloc函数功能描述:内存池创建时需要有内存分配(alloc)和释放(free)函数,alloc和free方法常见由mempool_alloc_slab( )和 mempool_free_slab(…… -
内存管理 – Linux内核API mempool_kfree
mempool_kfree函数功能描述:mempool_kfree( )的功能是内存池一种析构器,用来释放内存池中的element数组中的内存元素空间。通常用来释放函数mempool_kmalloc…… -
内存管理 – Linux内核API mempool_free_slab
mempool_free_slab函数功能描述:mempool_free_slab( )的功能是内存池基于slab对象时的析构器,它也是通常使用的内存释放器。通常用来释放函数mempool_alloc_…… -
内存管理 – Linux内核API mempool_free_pages
mempool_free_pages函数功能描述:mempool_free_pages( )的功能是内存池一种析构器,其函数实现实质是__free_pages ( ),用来释放内存池中的element数组中的…… -
内存管理 – Linux内核API mempool_free
mempool_free函数功能描述:mempool_free( )函数的功能是释放由mempool_alloc( )函数分配的内存元素,参考 mempool_alloc( )函数的分析。 mempool_free文件包…… -
内存管理 – Linux内核API mempool_destroy
mempool_destroy函数功能描述:mempool_destroy( )函数的功能是释放池中所有内存元素,然后释放元素数组和mempool_t对象自己。 mempool_destroy文件包含 #inc…… -
内存管理 – Linux内核API mempool_create
mempool_create函数功能描述:mempool_create( )函数的功能是创建一个新的内存池。 mempool_create文件包含 #include<linux/mempool.h> mempool_creat…… -
内存管理 – Linux内核API mempool_alloc_slab
mempool_alloc_slab函数功能描述:内存池创建时需要有内存分配(alloc)和释放(free)函数,当内存元素是slab对象时,alloc和free方法一般由mempool_alloc_s…… -
内存管理 – Linux内核API mempool_alloc_pages
mempool_alloc_pages函数功能描述:内存池创建时需要有内存分配(alloc)和释放(free)函数,alloc和free方法常见由mempool_alloc_slab( )和mempool_free_sl…… -
内存管理 – Linux内核API mempool_alloc
mempool_alloc函数功能描述:mempool_alloc( )函数的功能是从内存池分配一个内存元素。 mempool_alloc文件包含 #include<linux/mempool.h> mempool_al…… -
内存管理 – Linux内核API memdup_user
memdup_user函数功能描述:memdup_user( )函数的功能是根据给定的一段地址空间(这里由void __user *src和size_t len决定),再分配一个内存空间,并将原地址……