Lines Matching refs:ksm_stable_node
90 * using the same struct ksm_stable_node structure.
146 * struct ksm_stable_node - node of the stable rbtree
157 struct ksm_stable_node {
211 struct ksm_stable_node *head;
318 stable_node_cache = KSM_KMEM_CACHE(ksm_stable_node, 0);
344 static __always_inline bool is_stable_node_chain(struct ksm_stable_node *chain)
349 static __always_inline bool is_stable_node_dup(struct ksm_stable_node *dup)
354 static inline void stable_node_chain_add_dup(struct ksm_stable_node *dup,
355 struct ksm_stable_node *chain)
364 static inline void __stable_node_dup_del(struct ksm_stable_node *dup)
371 static inline void stable_node_dup_del(struct ksm_stable_node *dup)
402 static inline struct ksm_stable_node *alloc_stable_node(void)
412 static inline void free_stable_node(struct ksm_stable_node *stable_node)
627 static struct ksm_stable_node *alloc_stable_node_chain(struct ksm_stable_node *dup,
630 struct ksm_stable_node *chain = alloc_stable_node();
660 static inline void free_stable_node_chain(struct ksm_stable_node *chain,
668 static void remove_node_from_stable_tree(struct ksm_stable_node *stable_node)
735 static struct page *get_ksm_page(struct ksm_stable_node *stable_node,
817 struct ksm_stable_node *stable_node;
904 static inline struct ksm_stable_node *folio_stable_node(struct folio *folio)
909 static inline struct ksm_stable_node *page_stable_node(struct page *page)
915 struct ksm_stable_node *stable_node)
925 static int remove_stable_node(struct ksm_stable_node *stable_node)
963 static int remove_stable_node_chain(struct ksm_stable_node *stable_node,
966 struct ksm_stable_node *dup;
990 struct ksm_stable_node *stable_node, *next;
997 struct ksm_stable_node, node);
1415 bool __is_page_sharing_candidate(struct ksm_stable_node *stable_node, int offset)
1429 bool is_page_sharing_candidate(struct ksm_stable_node *stable_node)
1434 static struct page *stable_node_dup(struct ksm_stable_node **_stable_node_dup,
1435 struct ksm_stable_node **_stable_node,
1439 struct ksm_stable_node *dup, *found = NULL, *stable_node = *_stable_node;
1553 static struct ksm_stable_node *stable_node_dup_any(struct ksm_stable_node *stable_node,
1580 static struct page *__stable_node_chain(struct ksm_stable_node **_stable_node_dup,
1581 struct ksm_stable_node **_stable_node,
1585 struct ksm_stable_node *stable_node = *_stable_node;
1602 static __always_inline struct page *chain_prune(struct ksm_stable_node **s_n_d,
1603 struct ksm_stable_node **s_n,
1609 static __always_inline struct page *chain(struct ksm_stable_node **s_n_d,
1610 struct ksm_stable_node *s_n,
1613 struct ksm_stable_node *old_stable_node = s_n;
1637 struct ksm_stable_node *stable_node, *stable_node_dup, *stable_node_any;
1638 struct ksm_stable_node *page_node;
1658 stable_node = rb_entry(*new, struct ksm_stable_node, node);
1881 static struct ksm_stable_node *stable_tree_insert(struct page *kpage)
1888 struct ksm_stable_node *stable_node, *stable_node_dup, *stable_node_any;
1903 stable_node = rb_entry(*new, struct ksm_stable_node, node);
1972 struct ksm_stable_node *orig = stable_node;
2073 struct ksm_stable_node *stable_node,
2120 struct ksm_stable_node *stable_node;
2344 struct ksm_stable_node *stable_node, *next;
2840 struct ksm_stable_node *stable_node;
2915 struct ksm_stable_node *stable_node;
2956 struct ksm_stable_node *stable_node;
2989 static bool stable_node_dup_remove_range(struct ksm_stable_node *stable_node,
3005 static bool stable_node_chain_remove_range(struct ksm_stable_node *stable_node,
3010 struct ksm_stable_node *dup;
3034 struct ksm_stable_node *stable_node, *next;
3041 stable_node = rb_entry(node, struct ksm_stable_node, node);