Re: [PATCH v2 2/2] mm: hugetlb: add VmHugetlbRSS: field in /proc/pid/status
From: Andrew Morton <akpm@linux-foundation.org>
Date: 2015-08-07 22:55:39
Also in:
lkml
On Fri, 7 Aug 2015 07:24:50 +0000 Naoya Horiguchi [off-list ref] wrote:
Currently there's no easy way to get per-process usage of hugetlb pages, which is inconvenient because applications which use hugetlb typically want to control their processes on the basis of how much memory (including hugetlb) they use. So this patch simply provides easy access to the info via /proc/pid/status. This patch shouldn't change the OOM behavior (so hugetlb usage is ignored as is now,) which I guess is fine until we have some strong reason to do it.
A procfs change triggers a documentation change. Always, please. Documentation/filesystems/proc.txt is the place.
quoted hunk ↗ jump to hunk
...@@ -504,6 +519,9 @@ static inline spinlock_t *huge_pte_lockptr(struct hstate *h, { return &mm->page_table_lock; } + +#define get_hugetlb_rss(mm) 0 +#define mod_hugetlb_rss(mm, value) do {} while (0)
I don't think these have to be macros? inline functions are nicer in several ways: more readable, more likely to be documented, can prevent unused variable warnings.
quoted hunk ↗ jump to hunk
#endif /* CONFIG_HUGETLB_PAGE */ static inline spinlock_t *huge_pte_lock(struct hstate *h, ...--- v4.2-rc4.orig/mm/memory.c +++ v4.2-rc4/mm/memory.c@@ -620,12 +620,12 @@ int __pte_alloc_kernel(pmd_t *pmd, unsigned long address) return 0; } -static inline void init_rss_vec(int *rss) +inline void init_rss_vec(int *rss) { memset(rss, 0, sizeof(int) * NR_MM_COUNTERS); } -static inline void add_mm_rss_vec(struct mm_struct *mm, int *rss) +inline void add_mm_rss_vec(struct mm_struct *mm, int *rss) { int i;
The inlines are a bit odd, but this does save ~10 bytes in memory.o for some reason. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>