On Thu, Oct 22, 2020 at 12:57:55PM -0400, Rik van Riel wrote: > On Thu, 2020-10-22 at 12:49 -0400, Rik van Riel wrote: > > On Thu, 2020-10-22 at 11:18 -0400, Johannes Weiner wrote: > > > > > index e80aa9d2db68..334ce608735c 100644 > > > --- a/mm/filemap.c > > > +++ b/mm/filemap.c > > > @@ -204,9 +204,9 @@ static void unaccount_page_cache_page(struct > > > address_space *mapping, > > > if (PageSwapBacked(page)) { > > > __mod_lruvec_page_state(page, NR_SHMEM, -nr); > > > if (PageTransHuge(page)) > > > - __dec_node_page_state(page, NR_SHMEM_THPS); > > > + __dec_lruvec_page_state(page, NR_SHMEM_THPS); > > > } else if (PageTransHuge(page)) { > > > - __dec_node_page_state(page, NR_FILE_THPS); > > > + __dec_lruvec_page_state(page, NR_FILE_THPS); > > > filemap_nr_thps_dec(mapping); > > > } > > > > This may be a dumb question, but does that mean the > > NR_FILE_THPS number will no longer be visible in > > /proc/vmstat or is there some magic I overlooked in > > a cursory look of the code? > > Never mind, I found it a few levels deep in > __dec_lruvec_page_state. No worries, it's a legit question. lruvec is at the intersection of node and memcg, so I'm just moving the accounting to a higher-granularity function that updates all layers, including the node. > Reviewed-by: Rik van Riel <riel@xxxxxxxxxxx> Thanks!