__get_free_pages
来源:互联网 发布:淘宝一行三格格子代码 编辑:程序博客网 时间:2024/06/06 02:41
已经在没看函数定义前觉得有点奇怪,它怎么是用page_address, 现在知道了,如果分配的页面里面有 __GFP_HIGHMEM 的标志,直接就BUG_ON 了。
这说明__get_free_pages是从低端内存分配的, 释放函数用free_page(addr), 而不用 __free_page(page).
{
struct page *page;
/*
* __get_free_pages() returns a 32-bit address, which cannot represent
* a highmem page
*/
VM_BUG_ON((gfp_mask & __GFP_HIGHMEM) != 0);
page = alloc_pages(gfp_mask, order);
if (!page)
return 0;
return (unsigned long) page_address(page);
}
EXPORT_SYMBOL(__get_free_pages);
- __get_free_pages
- __get_free_pages
- kmalloc()和__get_free_pages()
- kmalloc()和__get_free_pages()
- kmalloc()和__get_free_pages()
- linux kmalloc()和__get_free_pages()
- kmalloc()和__get_free_pages()
- 用__get_free_pages分配大内存
- Struts2学习记录
- 求 N 皇后问题回溯算法
- perl的默认版本切换
- SQLlite 转义
- ganglia之gmetad响应慢及数据延迟的控制和缓解(hadoop相关监控)
- __get_free_pages
- 那些不务正业的品牌Apps,借鉴
- 背包问题的回溯算法
- Linux下which、whereis、locate、find 命令的区别
- apach commons DBCP BasicDataSource pom
- UVA 11879 multiple 17(大数取模)
- hadoop2.0介绍(一)
- Linux中grep命令的12个实践例子
- 每天一个linux命令(38):cal 命令