Messages in this thread | | | From | Roland Dreier <> | Date | Fri, 31 Dec 2004 20:16:48 -0800 | Subject | Re: can you switch between GFP_ATOMIC and GFP_KERNEL? |
| |
Michael> My question is, new sk_buffs are always allocated with Michael> GFP_KERNEL and can be swapped out. Is it possible to Michael> change the allocation status of already-allocated memory Michael> to GFP_ATOMIC on the fly? (i.e. both the slab-cache Michael> sk_buff header memory as well as the kmalloc'd data Michael> area).
This question is ill-posed -- kernel memory can never be swapped out, whether it's allocated with GFP_KERNEL or GFP_ATOMIC. The difference between GFP_KERNEL and GFP_ATOMIC is whether the actual allocation can sleep, that is:
foo = kmalloc(sizeof foo, GFP_ATOMIC); /* will not sleep */ foo = kmalloc(sizeof foo, GFP_KERNEL); /* can sleep */
However, whichever gfp flags are used to allocate memory, the memory is the same once the allocation is done. Neither kmalloc'ed memory nor sk_buffs will ever be swapped.
- Roland - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |