Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cb82ed90 authored by Vinayak Menon's avatar Vinayak Menon Committed by Puranam V G Tejaswi
Browse files

mm: process_reclaim: skip target_vma



Skip using target_vma for address space reclaim. Shared pages
are not reclaimed by this interface and thus there isn't a need
to perform targeted reclaim.

Change-Id: I17cc0452c1179786ac64f0dd1ee81b2b71bb7caa
Signed-off-by: default avatarVinayak Menon <vinmenon@codeaurora.org>
parent 5c205e81
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) 2020, The Linux Foundation. All rights reserved.
 * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
 */

#include <linux/kthread.h>
@@ -269,8 +269,7 @@ static int kgsl_reclaim_callback(struct notifier_block *nb,
			memdesc->priv |= KGSL_MEMDESC_RECLAIMED;

			ret = reclaim_address_space
				(memdesc->shmem_filp->f_mapping,
				data, memdesc->vma);
				(memdesc->shmem_filp->f_mapping, data);

			memdesc->reclaimed_page_count += memdesc->page_count;
			atomic_add(memdesc->page_count,
+2 −2
Original line number Diff line number Diff line
@@ -1686,7 +1686,7 @@ static void proc_reclaim_notify(unsigned long pid, void *rp)
}

int reclaim_address_space(struct address_space *mapping,
			struct reclaim_param *rp, struct vm_area_struct *vma)
			struct reclaim_param *rp)
{
	struct radix_tree_iter iter;
	void __rcu **slot;
@@ -1727,7 +1727,7 @@ int reclaim_address_space(struct address_space *mapping,
		}
	}
	rcu_read_unlock();
	reclaimed = reclaim_pages_from_list(&page_list, vma);
	reclaimed = reclaim_pages_from_list(&page_list, NULL);
	rp->nr_reclaimed += reclaimed;

	if (rp->nr_scanned >= rp->nr_to_reclaim)
+1 −1
Original line number Diff line number Diff line
@@ -3058,7 +3058,7 @@ extern struct reclaim_param reclaim_task_anon(struct task_struct *task,
extern struct reclaim_param reclaim_task_nomap(struct task_struct *task,
		int nr_to_reclaim);
extern int reclaim_address_space(struct address_space *mapping,
		struct reclaim_param *rp, struct vm_area_struct *vma);
		struct reclaim_param *rp);
extern int proc_reclaim_notifier_register(struct notifier_block *nb);
extern int proc_reclaim_notifier_unregister(struct notifier_block *nb);
#endif