Hello, Andrew. On Fri, Feb 22, 2013 at 2:44 PM, Andrew Morton <a...@linux-foundation.org> wrote: > Not "guarantee". > > - idr_preload() might fail. It is a design error that idr_preload() > returns void - it should do what radix_tree_preload() does.
That would equal to GFP_KERNEL allocation failing. The error isn't ignored. It gets propagated to the actual idr_alloc() allocation. You're just collecting the error later. > - even if idr_preload() completed the preload, an interrupt might > come in and its handler might drain this cpu's preload pool. Non-process context doesn't dip into preload pool, so the first allocation after idr_preload() is *guaranteed* to fail iff the previous idr_preload(GFP_KERNEL) failed and there just isn't much we can do other than failing if GFP_KERNEL allocation fails. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html