-
Andrew Morton authored
Shrinking a huge number of dentries or inodes can hold dcache_lock or inode_lock for a long time. Not only does this hold off preemption - holding those locks basically shuts down the whole VFS. A neat fix for all such caches is to chunk the work up at the shrink_slab() level. I made the chunksize pretty small, for scalability reasons - avoid holding the lock for too long so another CPU can come in, acquire it and go off to do some work.
23e77b64