Lines Matching refs:lruvec
132 struct lruvec lruvec;
740 * @memcg: memcg of the wanted lruvec
744 * @pgdat combination. This can be the node lruvec, if the memory
747 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg,
751 struct lruvec *lruvec;
754 lruvec = &pgdat->__lruvec;
762 lruvec = &mz->lruvec;
766 * we have to be prepared to initialize lruvec->pgdat here;
769 if (unlikely(lruvec->pgdat != pgdat))
770 lruvec->pgdat = pgdat;
771 return lruvec;
775 * folio_lruvec - return lruvec for isolating/putting an LRU folio
780 static inline struct lruvec *folio_lruvec(struct folio *folio)
792 struct lruvec *folio_lruvec_lock(struct folio *folio);
793 struct lruvec *folio_lruvec_lock_irq(struct folio *folio);
794 struct lruvec *folio_lruvec_lock_irqsave(struct folio *folio,
798 void lruvec_memcg_debug(struct lruvec *lruvec, struct folio *folio);
801 void lruvec_memcg_debug(struct lruvec *lruvec, struct folio *folio)
880 static inline struct mem_cgroup *lruvec_memcg(struct lruvec *lruvec)
888 if (is_node_lruvec(lruvec))
892 mz = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
939 void mem_cgroup_update_lru_size(struct lruvec *lruvec, enum lru_list lru,
943 unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec,
948 mz = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
1035 static inline unsigned long lruvec_page_state(struct lruvec *lruvec,
1042 return node_page_state(lruvec_pgdat(lruvec), idx);
1045 if (is_node_lruvec(lruvec))
1046 return node_page_state(lruvec_pgdat(lruvec), idx);
1048 pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
1057 static inline unsigned long lruvec_page_state_local(struct lruvec *lruvec,
1064 return node_page_state(lruvec_pgdat(lruvec), idx);
1067 if (is_node_lruvec(lruvec))
1068 return node_page_state(lruvec_pgdat(lruvec), idx);
1071 pn = container_of(lruvec, struct mem_cgroup_per_node, lruvec);
1083 void __mod_memcg_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
1097 static inline void mod_memcg_lruvec_state(struct lruvec *lruvec,
1103 __mod_memcg_lruvec_state(lruvec, idx, val);
1329 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg,
1335 static inline struct lruvec *folio_lruvec(struct folio *folio)
1342 void lruvec_memcg_debug(struct lruvec *lruvec, struct folio *folio)
1381 static inline struct lruvec *folio_lruvec_lock(struct folio *folio)
1389 static inline struct lruvec *folio_lruvec_lock_irq(struct folio *folio)
1397 static inline struct lruvec *folio_lruvec_lock_irqsave(struct folio *folio,
1453 static inline struct mem_cgroup *lruvec_memcg(struct lruvec *lruvec)
1464 unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec,
1564 static inline unsigned long lruvec_page_state(struct lruvec *lruvec,
1567 return node_page_state(lruvec_pgdat(lruvec), idx);
1570 static inline unsigned long lruvec_page_state_local(struct lruvec *lruvec,
1573 return node_page_state(lruvec_pgdat(lruvec), idx);
1584 static inline void __mod_memcg_lruvec_state(struct lruvec *lruvec,
1655 static inline struct lruvec *parent_lruvec(struct lruvec *lruvec)
1659 memcg = lruvec_memcg(lruvec);
1665 return mem_cgroup_lruvec(memcg, lruvec_pgdat(lruvec));
1668 static inline void unlock_page_lruvec(struct lruvec *lruvec)
1670 spin_unlock(&lruvec->lru_lock);
1673 static inline void unlock_page_lruvec_irq(struct lruvec *lruvec)
1675 spin_unlock_irq(&lruvec->lru_lock);
1678 static inline void unlock_page_lruvec_irqrestore(struct lruvec *lruvec,
1681 spin_unlock_irqrestore(&lruvec->lru_lock, flags);
1686 struct lruvec *lruvec)
1688 return lruvec_pgdat(lruvec) == folio_pgdat(folio) &&
1689 lruvec_memcg(lruvec) == folio_memcg(folio);
1692 /* Don't lock again iff page's lruvec locked */
1693 static inline struct lruvec *folio_lruvec_relock_irq(struct folio *folio,
1694 struct lruvec *locked_lruvec)
1706 /* Don't lock again iff page's lruvec locked */
1707 static inline struct lruvec *folio_lruvec_relock_irqsave(struct folio *folio,
1708 struct lruvec *locked_lruvec, unsigned long *flags)