mm: skip rss check on MM_UNRECLAIMABLE

MM_UNRECLAIMABLE rss counter can be updated by drivers
on exit_files. But since exit_mm is called early, there
is a chance of false bad rss messages. Skip the check
for MM_UNRECLAIMABLE.

Change-Id: Id9a79db20f1ae711ec801a646d7c28d92e94f70b
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
[guptap@codeaurora.org: Add Kconfig entry to prevent ABI breakages in GKI]
Signed-off-by: Prakash Gupta <guptap@codeaurora.org>
This commit is contained in:
Vinayak Menon 2019-05-08 18:13:30 +05:30 committed by Prakash Gupta
parent ff60d1d2db
commit efa5ce2c9a

View File

@ -666,7 +666,15 @@ static void check_mm(struct mm_struct *mm)
"Please make sure 'struct resident_page_types[]' is updated as well");
for (i = 0; i < NR_MM_COUNTERS; i++) {
long x = atomic_long_read(&mm->rss_stat.count[i]);
long x;
#ifdef CONFIG_MM_STAT_UNRECLAIMABLE_PAGES
/* MM_UNRECLAIMABLE could be freed later in exit_files */
if (i == MM_UNRECLAIMABLE)
continue;
#endif
x = atomic_long_read(&mm->rss_stat.count[i]);
if (unlikely(x))
pr_alert("BUG: Bad rss-counter state mm:%p type:%s val:%ld\n",