My intepretation of situtation is that Vladimir Davydon is fine patch #1 and #2 of the series [0] but dislikes the irq argument and struct member. It has been suggested to use list_lru_shrink_walk_irq() instead the approach I went on in "mm: list_lru: Add lock_irq member to __list_lru_init()". This series is based on the former two patches and introduces list_lru_shrink_walk_irq() (and makes the third patch of series obsolete). In patch 1-3 I tried a tiny cleanup so the different locking (spin_lock() vs spin_lock_irq()) is simply lifted to the caller of the function. [0] The patch mm: workingset: remove local_irq_disable() from count_shadow_nodes() and mm: workingset: make shadow_lru_isolate() use locking suffix Sebastian