VM locking The inactive and active lists are protected by the pagemap_lru lock. The vm shrinking is not serialized with any other subsystem, it is also threaded against itself. The page lock and page counts plays an important role in the cache shrinking. we can shrink the page->buffers if we hold the page lock we can free the page only if we own the page lock page->buffers is null the page is not pinned by anybody, refcount == 1 (only pagecache)