On Mon, Mar 22, 2021 at 01:19:07AM +0000, Matthew Wilcox wrote: > I'd like to get it down to zero. After all, the !mapping case in > set_page_dirty() is exactly what we want. So is there a problem > with doing this? > > +++ b/mm/page-writeback.c > @@ -2562 +2562 @@ int set_page_dirty(struct page *page) > - if (likely(mapping)) { > + if (likely(mapping && mapping_can_writeback(mapping))) { > > But then I noticed that we have both mapping_can_writeback() > and mapping_use_writeback_tags(), and I'm no longer sure > which one to use. Also, why don't we mirror the results of > inode_to_bdi(mapping->host)->capabilities & BDI_CAP_WRITEBACK into > a mapping->flags & AS_something bit? Probably because no one has bothered to submit a patch yet.