[$] Shrinking shrinker locking overhead

Post Syndicated from corbet original https://lwn.net/Articles/944199/

Much of the kernel’s performance is dependent on caching — keeping useful
information around for future use to avoid the cost of looking it up again.
The kernel aggressively caches pages of file data, directory entries,
inodes, slab objects, and much more. Without active measures, though,
caches will tend to grow without bounds, leading to memory exhaustion. The
kernel’s “shrinker” mechanism exists to be that active measure, but
shrinkers have some performance difficulties of their own. This
patch series
from Qi Zheng seeks to address one of the worst of those
by removing some locking overhead.