Revert "ANDROID: mm: Throttle rss_stat tracepoint"

This reverts commit 77dfeaa02d.

Throttling can now be done using hist triggers and synthetic events

Bug: 145972256
Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
Change-Id: I39c284040e2fdb815cda980f3a40ef188e59287c
This commit is contained in:
Kalesh Singh
2021-11-17 10:24:44 -08:00
parent 5accf46108
commit 1a77f04aac
2 changed files with 6 additions and 19 deletions

View File

@@ -1930,28 +1930,27 @@ static inline unsigned long get_mm_counter(struct mm_struct *mm, int member)
return (unsigned long)val; return (unsigned long)val;
} }
void mm_trace_rss_stat(struct mm_struct *mm, int member, long count, void mm_trace_rss_stat(struct mm_struct *mm, int member, long count);
long value);
static inline void add_mm_counter(struct mm_struct *mm, int member, long value) static inline void add_mm_counter(struct mm_struct *mm, int member, long value)
{ {
long count = atomic_long_add_return(value, &mm->rss_stat.count[member]); long count = atomic_long_add_return(value, &mm->rss_stat.count[member]);
mm_trace_rss_stat(mm, member, count, value); mm_trace_rss_stat(mm, member, count);
} }
static inline void inc_mm_counter(struct mm_struct *mm, int member) static inline void inc_mm_counter(struct mm_struct *mm, int member)
{ {
long count = atomic_long_inc_return(&mm->rss_stat.count[member]); long count = atomic_long_inc_return(&mm->rss_stat.count[member]);
mm_trace_rss_stat(mm, member, count, 1); mm_trace_rss_stat(mm, member, count);
} }
static inline void dec_mm_counter(struct mm_struct *mm, int member) static inline void dec_mm_counter(struct mm_struct *mm, int member)
{ {
long count = atomic_long_dec_return(&mm->rss_stat.count[member]); long count = atomic_long_dec_return(&mm->rss_stat.count[member]);
mm_trace_rss_stat(mm, member, count, -1); mm_trace_rss_stat(mm, member, count);
} }
/* Optimized variant when page is already known not to be PageAnon */ /* Optimized variant when page is already known not to be PageAnon */

View File

@@ -168,20 +168,8 @@ static int __init init_zero_pfn(void)
} }
early_initcall(init_zero_pfn); early_initcall(init_zero_pfn);
/* void mm_trace_rss_stat(struct mm_struct *mm, int member, long count)
* Only trace rss_stat when there is a 512kb cross over.
* Smaller changes may be lost unless every small change is
* crossing into or returning to a 512kb boundary.
*/
#define TRACE_MM_COUNTER_THRESHOLD 128
void mm_trace_rss_stat(struct mm_struct *mm, int member, long count,
long value)
{ {
long thresh_mask = ~(TRACE_MM_COUNTER_THRESHOLD - 1);
/* Threshold roll-over, trace it */
if ((count & thresh_mask) != ((count - value) & thresh_mask))
trace_rss_stat(mm, member, count); trace_rss_stat(mm, member, count);
} }
EXPORT_SYMBOL_GPL(mm_trace_rss_stat); EXPORT_SYMBOL_GPL(mm_trace_rss_stat);