• Home
  • Raw
  • Download

Lines Matching +full:mm +full:- +full:0

1 // SPDX-License-Identifier: GPL-2.0
3 * mm/rss_threshold.c
8 #include <linux/mm.h>
9 #include <linux/sched/mm.h>
15 struct mm_struct *mm = get_task_mm(task); in proc_pid_rss() local
18 if (mm) { in proc_pid_rss()
19 total_rss = get_mm_rss(mm); in proc_pid_rss()
20 seq_printf(m, "VMRss:%lu KB\n", total_rss << (PAGE_SHIFT - 10)); in proc_pid_rss()
21 mmput(mm); in proc_pid_rss()
23 return 0; in proc_pid_rss()
26 void listen_rss_threshold(struct mm_struct *mm) in listen_rss_threshold() argument
30 total_rss = get_mm_rss(mm); in listen_rss_threshold()
32 if (!(mm->owner) || mm->rss_threshold == 0) in listen_rss_threshold()
35 total_rss = total_rss << (PAGE_SHIFT - 10); in listen_rss_threshold()
37 if (likely(total_rss <= mm->rss_threshold)) in listen_rss_threshold()
40 if (mm->owner->comm) in listen_rss_threshold()
42 mm->owner->pid, mm->owner->comm, in listen_rss_threshold()
44 mm->rss_threshold); in listen_rss_threshold()
47 mm->owner->pid, in listen_rss_threshold()
49 mm->rss_threshold); in listen_rss_threshold()
57 struct mm_struct *mm = NULL; in rss_threshold_write() local
62 err = kstrtoul_from_user(buf, count, 0, &rss_threshold); in rss_threshold_write()
63 if (err < 0) in rss_threshold_write()
66 mem_total = totalram_pages() << (PAGE_SHIFT - 10); in rss_threshold_write()
67 if (rss_threshold < 0 || rss_threshold > mem_total) in rss_threshold_write()
68 return -EINVAL; in rss_threshold_write()
72 return -ESRCH; in rss_threshold_write()
74 mm = get_task_mm(p); in rss_threshold_write()
75 if (mm) { in rss_threshold_write()
76 mm->rss_threshold = rss_threshold; in rss_threshold_write()
77 listen_rss_threshold(mm); in rss_threshold_write()
78 mmput(mm); in rss_threshold_write()
88 struct inode *inode = m->private; in rss_threshold_show()
90 struct mm_struct *mm = NULL; in rss_threshold_show() local
94 return -ESRCH; in rss_threshold_show()
96 mm = get_task_mm(p); in rss_threshold_show()
97 if (mm) { in rss_threshold_show()
98 seq_printf(m, "Threshold:%lu KB\n", mm->rss_threshold); in rss_threshold_show()
99 mmput(mm); in rss_threshold_show()
103 return 0; in rss_threshold_show()