ANDROID: add reclaim tune parameter functions
This patch adds two exported functions to set/get reclaim parameters. Bug: 323406883 Change-Id: I8c29073dba3e77cb5db7f45b640518deae04b8a9 Signed-off-by: Minchan Kim <minchan@google.com>
This commit is contained in:
parent
27c443059c
commit
66193f866d
@ -351,6 +351,9 @@ static inline bool pm_suspended_storage(void)
|
||||
}
|
||||
#endif /* CONFIG_PM_SLEEP */
|
||||
|
||||
int set_reclaim_params(int wmark_scale_factor, int swappiness);
|
||||
void get_reclaim_params(int *wmark_scale_factor, int *swappiness);
|
||||
|
||||
#ifdef CONFIG_CONTIG_ALLOC
|
||||
/* The below functions must be run on a range from a single zone. */
|
||||
extern int alloc_contig_range(unsigned long start, unsigned long end,
|
||||
|
@ -536,6 +536,30 @@ static inline int pfn_to_bitidx(const struct page *page, unsigned long pfn)
|
||||
return (pfn >> pageblock_order) * NR_PAGEBLOCK_BITS;
|
||||
}
|
||||
|
||||
int set_reclaim_params(int wmark_scale_factor, int swappiness)
|
||||
{
|
||||
if (wmark_scale_factor > 3000 || wmark_scale_factor < 1)
|
||||
return -EINVAL;
|
||||
|
||||
if (swappiness > 200 || swappiness < 0)
|
||||
return -EINVAL;
|
||||
|
||||
WRITE_ONCE(vm_swappiness, swappiness);
|
||||
WRITE_ONCE(watermark_scale_factor, wmark_scale_factor);
|
||||
|
||||
setup_per_zone_wmarks();
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(set_reclaim_params);
|
||||
|
||||
void get_reclaim_params(int *wmark_scale_factor, int *swappiness)
|
||||
{
|
||||
*wmark_scale_factor = watermark_scale_factor;
|
||||
*swappiness = vm_swappiness;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(get_reclaim_params);
|
||||
|
||||
static __always_inline
|
||||
unsigned long __get_pfnblock_flags_mask(const struct page *page,
|
||||
unsigned long pfn,
|
||||
|
Loading…
Reference in New Issue
Block a user