15、底层内存分配 1、<linux/malloc.h>头文件改为<linux/slab.h> 2、分配标志GFP_BUFFER被取消,取而代之的是GFP_NOIO 和 GFP_NOFS 3、新增__GFP_REPEAT,__GFP_NOFAIL,__GFP_NORETRY分配标志 4、页面分配函数alloc_pages(),get_free_page()被包含在<linux/gfp.h>中 5、对NUMA系统新增了几个函数: a) struct page *alloc_pages_node(int node_id, unsigned int gfp_mask, unsigned int order); b) void free_hot_page(struct page *page); c) void free_cold_page(struct page *page); 6、 新增Memory pools <linux/mempool.h> mempool_t *mempool_create(int min_nr, mempool_alloc_t *alloc_fn, mempool_free_t *free_fn, void *pool_data); void *mempool_alloc(mempool_t *pool, int gfp_mask); void mempool_free(void *element, mempool_t *pool); int mempool_resize(mempool_t *pool, int new_min_nr, int gfp_mask); 16、 per-CPU变量 get_cpu_var(); put_cpu_var(); void *alloc_percpu(type); void free_percpu(const void *); per_cpu_ptr(void *ptr, int cpu) get_cpu_ptr(ptr) put_cpu_ptr(ptr) 老版本使用 DEFINE_PER_CPU(type, name); EXPORT_PER_CPU_SYMBOL(name); EXPORT_PER_CPU_SYMBOL_GPL(name); DECLARE_PER_CPU(type, name); DEFINE_PER_CPU(int, mypcint);
2.6内核采用了可剥夺得调度方式这些宏都不安全。
| 基于Linux操作系统实现的传真系统 | 12-09 | |
| Linux操作系统上最好的10款开源游 | 11-20 | |
| Linux 系统中的超级权限的控制 | 11-09 | |
| Linux操作系统下的常见系统资源共 | 11-07 | |
| 通过Linux系统引导CD排除服务器故 | 10-30 | |
| Linux下的中文显示和支持常见问题 | 10-23 | |
| Linux系统下以太网卡的安装及配置 | 10-17 | |
| 嵌入式Linux系统的动态电源管理技 | 10-13 | |
| 从硬盘安装Linux操作系统的方法步 | 10-12 | |
| 深入浅出分析Linux设备驱动程序中 | 10-10 | |
| 使用kgdb调试linux内核及内核模块 | 10-04 | |
| 使用Linux 文本工具简化数据的提 | 10-04 | |