mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 12:11:40 +00:00
include/linux/mmzone.h: clean up watermark accessors
- we have a helper wmark_pages(). Teach min_wmark_pages(), low_wmark_pages(), high_wmark_pages() and promo_wmark_pages() to use it instead of open-coding its implementation. - there's no reason to implement all these things as macros. Redo them in C. Acked-by: Johannes Weiner <hannes@cmpxchg.org> Cc: Kaiyang Zhao <kaiyang2@cs.cmu.edu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This commit is contained in:
parent
528afe6b96
commit
620943d7ee
@ -666,12 +666,6 @@ enum zone_watermarks {
|
||||
#define NR_LOWORDER_PCP_LISTS (MIGRATE_PCPTYPES * (PAGE_ALLOC_COSTLY_ORDER + 1))
|
||||
#define NR_PCP_LISTS (NR_LOWORDER_PCP_LISTS + NR_PCP_THP)
|
||||
|
||||
#define min_wmark_pages(z) (z->_watermark[WMARK_MIN] + z->watermark_boost)
|
||||
#define low_wmark_pages(z) (z->_watermark[WMARK_LOW] + z->watermark_boost)
|
||||
#define high_wmark_pages(z) (z->_watermark[WMARK_HIGH] + z->watermark_boost)
|
||||
#define promo_wmark_pages(z) (z->_watermark[WMARK_PROMO] + z->watermark_boost)
|
||||
#define wmark_pages(z, i) (z->_watermark[i] + z->watermark_boost)
|
||||
|
||||
/*
|
||||
* Flags used in pcp->flags field.
|
||||
*
|
||||
@ -1017,6 +1011,32 @@ enum zone_flags {
|
||||
ZONE_BELOW_HIGH, /* zone is below high watermark. */
|
||||
};
|
||||
|
||||
static inline unsigned long wmark_pages(const struct zone *z,
|
||||
enum zone_watermarks w)
|
||||
{
|
||||
return z->_watermark[w] + z->watermark_boost;
|
||||
}
|
||||
|
||||
static inline unsigned long min_wmark_pages(const struct zone *z)
|
||||
{
|
||||
return wmark_pages(z, WMARK_MIN);
|
||||
}
|
||||
|
||||
static inline unsigned long low_wmark_pages(const struct zone *z)
|
||||
{
|
||||
return wmark_pages(z, WMARK_LOW);
|
||||
}
|
||||
|
||||
static inline unsigned long high_wmark_pages(const struct zone *z)
|
||||
{
|
||||
return wmark_pages(z, WMARK_HIGH);
|
||||
}
|
||||
|
||||
static inline unsigned long promo_wmark_pages(const struct zone *z)
|
||||
{
|
||||
return wmark_pages(z, WMARK_PROMO);
|
||||
}
|
||||
|
||||
static inline unsigned long zone_managed_pages(struct zone *zone)
|
||||
{
|
||||
return (unsigned long)atomic_long_read(&zone->managed_pages);
|
||||
|
Loading…
Reference in New Issue
Block a user