Thread (17 messages) 17 messages, 4 authors, 2021-06-28

Re: [PATCH 4/4] vfs: keep inodes with page cache off the inode shrinker LRU

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2021-06-17 01:30:47
Also in: linux-fsdevel, lkml

On Wed, 16 Jun 2021 00:54:15 -0400 Johannes Weiner [off-list ref] wrote:
On Wed, Jun 16, 2021 at 11:20:08AM +1000, Dave Chinner wrote:
quoted
On Tue, Jun 15, 2021 at 02:50:09PM -0400, Johannes Weiner wrote:
quoted
On Tue, Jun 15, 2021 at 04:26:40PM +1000, Dave Chinner wrote:
quoted
On Mon, Jun 14, 2021 at 05:19:04PM -0400, Johannes Weiner wrote:
quoted
@@ -1123,6 +1125,9 @@ static int __remove_mapping(struct address_space *mapping, struct page *page,
 			shadow = workingset_eviction(page, target_memcg);
 		__delete_from_page_cache(page, shadow);
 		xa_unlock_irq(&mapping->i_pages);
+		if (mapping_shrinkable(mapping))
+			inode_add_lru(mapping->host);
+		spin_unlock(&mapping->host->i_lock);
 
No. Inode locks have absolutely no place serialising core vmscan
algorithms.
What if, and hear me out on this one, core vmscan algorithms change
the state of the inode?
Then the core vmscan algorithm has a layering violation.
You're just playing a word game here.
Don't think so.  David is quite correct in saying that vmscan shouldn't
mess with inode state unless it's via address_space_operations?

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help