mm: clean up zone flags
Page reclaim tests zone_is_reclaim_dirty(), but the site that actually sets this state does zone_set_flag(zone, ZONE_TAIL_LRU_DIRTY), sending the reader through layers indirection just to track down a simple bit. Remove all zone flag wrappers and just use bitops against zone->flags directly. It's just as readable and the lines are barely any longer. Also rename ZONE_TAIL_LRU_DIRTY to ZONE_DIRTY to match ZONE_WRITEBACK, and remove the zone_flags_t typedef. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Acked-by: David Rientjes <rientjes@google.com> Acked-by: Mel Gorman <mgorman@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
7c809968ff
commit
5705465174
5 changed files with 25 additions and 70 deletions
|
@ -521,13 +521,13 @@ struct zone {
|
|||
atomic_long_t vm_stat[NR_VM_ZONE_STAT_ITEMS];
|
||||
} ____cacheline_internodealigned_in_smp;
|
||||
|
||||
typedef enum {
|
||||
enum zone_flags {
|
||||
ZONE_RECLAIM_LOCKED, /* prevents concurrent reclaim */
|
||||
ZONE_OOM_LOCKED, /* zone is in OOM killer zonelist */
|
||||
ZONE_CONGESTED, /* zone has many dirty pages backed by
|
||||
* a congested BDI
|
||||
*/
|
||||
ZONE_TAIL_LRU_DIRTY, /* reclaim scanning has recently found
|
||||
ZONE_DIRTY, /* reclaim scanning has recently found
|
||||
* many dirty file pages at the tail
|
||||
* of the LRU.
|
||||
*/
|
||||
|
@ -535,52 +535,7 @@ typedef enum {
|
|||
* many pages under writeback
|
||||
*/
|
||||
ZONE_FAIR_DEPLETED, /* fair zone policy batch depleted */
|
||||
} zone_flags_t;
|
||||
|
||||
static inline void zone_set_flag(struct zone *zone, zone_flags_t flag)
|
||||
{
|
||||
set_bit(flag, &zone->flags);
|
||||
}
|
||||
|
||||
static inline int zone_test_and_set_flag(struct zone *zone, zone_flags_t flag)
|
||||
{
|
||||
return test_and_set_bit(flag, &zone->flags);
|
||||
}
|
||||
|
||||
static inline void zone_clear_flag(struct zone *zone, zone_flags_t flag)
|
||||
{
|
||||
clear_bit(flag, &zone->flags);
|
||||
}
|
||||
|
||||
static inline int zone_is_reclaim_congested(const struct zone *zone)
|
||||
{
|
||||
return test_bit(ZONE_CONGESTED, &zone->flags);
|
||||
}
|
||||
|
||||
static inline int zone_is_reclaim_dirty(const struct zone *zone)
|
||||
{
|
||||
return test_bit(ZONE_TAIL_LRU_DIRTY, &zone->flags);
|
||||
}
|
||||
|
||||
static inline int zone_is_reclaim_writeback(const struct zone *zone)
|
||||
{
|
||||
return test_bit(ZONE_WRITEBACK, &zone->flags);
|
||||
}
|
||||
|
||||
static inline int zone_is_reclaim_locked(const struct zone *zone)
|
||||
{
|
||||
return test_bit(ZONE_RECLAIM_LOCKED, &zone->flags);
|
||||
}
|
||||
|
||||
static inline int zone_is_fair_depleted(const struct zone *zone)
|
||||
{
|
||||
return test_bit(ZONE_FAIR_DEPLETED, &zone->flags);
|
||||
}
|
||||
|
||||
static inline int zone_is_oom_locked(const struct zone *zone)
|
||||
{
|
||||
return test_bit(ZONE_OOM_LOCKED, &zone->flags);
|
||||
}
|
||||
};
|
||||
|
||||
static inline unsigned long zone_end_pfn(const struct zone *zone)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue