What | Removed | Added |
---|---|---|
CC | jgross@suse.com |
+CC Juergen order-4 and higher are considered "costly" and might give up trying to free and defragment (compact) memory sooner than later. The __GFP_RETRY_MAYFAIL flag can be used to try harder. But I wonder why privcmd_buf_mmap() really needs such a large allocation? I can only see: vma_priv = kzalloc(struct_size(vma_priv, pages, count), GFP_KERNEL); and for that to get large, we would need many pages. If I count correctly, it's at least 4096 page pointers to get us over order-3 into order-4. Hm so it's maybe just a 16MB+ VMA and that can be expected here? In that case I'd recommend kvzalloc() instead of kvmalloc().