Tag: kmalloc

vmalloc和kmalloc有什么区别?

我一直在search,发现大多数人主张使用kmalloc ,因为你保证获得连续的物理内存块。 但是,如果找不到连续的物理块, kmalloc也可能会失败。 拥有连续的内存块有什么好处? 具体而言,为什么我需要在系统调用中拥有连续的物理内存块? 有没有什么原因,我不能只使用vmalloc ? 最后,如果我在处理系统调用期间分配内存,我应该指定GFP_ATOMIC吗? 在primefaces上下文中执行系统调用吗? GFP_ATOMIC 分配是高优先级的,不睡觉。 这是在中断处理程序,下半部分和其他你无法入睡的情况下使用的标志。 GFP_KERNEL这是一个正常的分配,可能会阻塞。 这是在进程上下文代码安全入睡时使用的标志。