table of contents
other versions
IDR_PRELOAD(9) | Basic Kernel Library Functions | IDR_PRELOAD(9) |
NAME¶
idr_preload - preload for idr_allocSYNOPSIS¶
void
idr_preload(gfp_t gfp_mask);
ARGUMENTS¶
gfp_maskallocation mask to use for preloading
DESCRIPTION¶
Preload per-cpu layer buffer for idr_alloc. Can only be used from process context and each idr_preload invocation should be matched with idr_preload_end. Note that preemption is disabled while preloaded. The first idr_alloc in the preloaded section can be treated as if it were invoked with gfp_mask used for preloading. This allows using more permissive allocation masks for idrs protected by spinlocks. For example, if idr_alloc below fails, the failure can be treated as if idr_alloc were called with GFP_KERNEL rather than GFP_NOWAIT. idr_preload(GFP_KERNEL); spin_lock(lock); id = idr_alloc(idr, ptr, start, end, GFP_NOWAIT); spin_unlock(lock); idr_preload_end; if (id < 0) error;COPYRIGHT¶
January 2017 | Kernel Hackers Manual 4.8. |