On Fri, 2022-08-05 at 19:50 +0100, Matthew Wilcox wrote: > > > > This change introduces a tool that scans through all of physical > > memory for anonymous THPs and groups them into buckets based > > on utilization. It also includes an interface under > > /proc/thp_utilization. > > OK, so I understand why we want to do the scanning, but why do we > want to > report it to userspace at all? And if we do, why do we want to do it > in > this format? AFAIK, there's nothing userspace can do with the > information > "93% of your THPs are underutilised". If there was something > userspace > could do about it, wouldn't it need to know which ones? > > Isn't the real solution here entirely in-kernel? This scanning > thread > you've created should be the one splitting the THPs. And anyway, > isn't > this exactly the kind of thing that DAMON was invented for? Alex does have an (in kernel) shrinker that can reclaim underutilized THPs in order to free memory. This is a regular shrinker called from kswapd. I am not sure a shrinker going through the DAMON infrastructure would be any smaller, faster, or better. OTOH, DAMON does allow for more flexible policy... Getting some info on the effectiveness of the shrinker seems useful, though. Could debugfs be a better place? Should this be resubmitted together with the shrinker code that makes this more useful?