mm: vmscan: block kswapd if it is encountering pages under writeback
[platform/adaptation/renesas_rcar/renesas_kernel.git] / include / linux / mmzone.h
index 5c76737..fce64af 100644 (file)
@@ -495,6 +495,13 @@ typedef enum {
        ZONE_CONGESTED,                 /* zone has many dirty pages backed by
                                         * a congested BDI
                                         */
+       ZONE_TAIL_LRU_DIRTY,            /* reclaim scanning has recently found
+                                        * many dirty file pages at the tail
+                                        * of the LRU.
+                                        */
+       ZONE_WRITEBACK,                 /* reclaim scanning has recently found
+                                        * many pages under writeback
+                                        */
 } zone_flags_t;
 
 static inline void zone_set_flag(struct zone *zone, zone_flags_t flag)
@@ -517,6 +524,16 @@ 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);