[PATCH] slab: use order 0 for vfs caches
We have interesting deadlocks when slab decides to use order-1 allocations for ext3_inode_cache. This is because ext3_alloc_inode() needs to perform a GFP_NOFS 1-order allocation. Sometimes the 1-order allocation needs to free a huge number of pages (tens of megabytes) before a 1-order grouping becomes available. But the GFP_NOFS allocator cannot free dcache (and hence icache) due to the deadlock problems identified in shrink_dcache_memory(). So change slab so that it will force 0-order allocations for shrinkable VFS objects. We can handle those OK.
Showing
Please register or sign in to comment