Lines Matching refs:tree
325 static void zswap_entry_put(struct zswap_tree *tree, in zswap_entry_put() argument
332 zswap_rb_erase(&tree->rbroot, entry); in zswap_entry_put()
840 struct zswap_tree *tree; in zswap_writeback_entry() local
856 tree = zswap_trees[swp_type(swpentry)]; in zswap_writeback_entry()
860 spin_lock(&tree->lock); in zswap_writeback_entry()
861 entry = zswap_entry_find_get(&tree->rbroot, offset); in zswap_writeback_entry()
864 spin_unlock(&tree->lock); in zswap_writeback_entry()
867 spin_unlock(&tree->lock); in zswap_writeback_entry()
909 spin_lock(&tree->lock); in zswap_writeback_entry()
911 zswap_entry_put(tree, entry); in zswap_writeback_entry()
920 if (entry == zswap_rb_search(&tree->rbroot, offset)) in zswap_writeback_entry()
921 zswap_entry_put(tree, entry); in zswap_writeback_entry()
922 spin_unlock(&tree->lock); in zswap_writeback_entry()
934 spin_lock(&tree->lock); in zswap_writeback_entry()
935 zswap_entry_put(tree, entry); in zswap_writeback_entry()
936 spin_unlock(&tree->lock); in zswap_writeback_entry()
965 struct zswap_tree *tree = zswap_trees[type]; in zswap_frontswap_store() local
975 if (!zswap_enabled || !tree) { in zswap_frontswap_store()
1043 spin_lock(&tree->lock); in zswap_frontswap_store()
1045 ret = zswap_rb_insert(&tree->rbroot, entry, &dupentry); in zswap_frontswap_store()
1049 zswap_rb_erase(&tree->rbroot, dupentry); in zswap_frontswap_store()
1050 zswap_entry_put(tree, dupentry); in zswap_frontswap_store()
1053 spin_unlock(&tree->lock); in zswap_frontswap_store()
1077 struct zswap_tree *tree = zswap_trees[type]; in zswap_frontswap_load() local
1085 spin_lock(&tree->lock); in zswap_frontswap_load()
1086 entry = zswap_entry_find_get(&tree->rbroot, offset); in zswap_frontswap_load()
1089 spin_unlock(&tree->lock); in zswap_frontswap_load()
1092 spin_unlock(&tree->lock); in zswap_frontswap_load()
1106 spin_lock(&tree->lock); in zswap_frontswap_load()
1107 zswap_entry_put(tree, entry); in zswap_frontswap_load()
1108 spin_unlock(&tree->lock); in zswap_frontswap_load()
1116 struct zswap_tree *tree = zswap_trees[type]; in zswap_frontswap_invalidate_page() local
1120 spin_lock(&tree->lock); in zswap_frontswap_invalidate_page()
1121 entry = zswap_rb_search(&tree->rbroot, offset); in zswap_frontswap_invalidate_page()
1124 spin_unlock(&tree->lock); in zswap_frontswap_invalidate_page()
1129 zswap_rb_erase(&tree->rbroot, entry); in zswap_frontswap_invalidate_page()
1132 zswap_entry_put(tree, entry); in zswap_frontswap_invalidate_page()
1134 spin_unlock(&tree->lock); in zswap_frontswap_invalidate_page()
1140 struct zswap_tree *tree = zswap_trees[type]; in zswap_frontswap_invalidate_area() local
1143 if (!tree) in zswap_frontswap_invalidate_area()
1147 spin_lock(&tree->lock); in zswap_frontswap_invalidate_area()
1148 rbtree_postorder_for_each_entry_safe(entry, n, &tree->rbroot, rbnode) in zswap_frontswap_invalidate_area()
1150 tree->rbroot = RB_ROOT; in zswap_frontswap_invalidate_area()
1151 spin_unlock(&tree->lock); in zswap_frontswap_invalidate_area()
1152 kfree(tree); in zswap_frontswap_invalidate_area()
1158 struct zswap_tree *tree; in zswap_frontswap_init() local
1160 tree = kzalloc(sizeof(struct zswap_tree), GFP_KERNEL); in zswap_frontswap_init()
1161 if (!tree) { in zswap_frontswap_init()
1166 tree->rbroot = RB_ROOT; in zswap_frontswap_init()
1167 spin_lock_init(&tree->lock); in zswap_frontswap_init()
1168 zswap_trees[type] = tree; in zswap_frontswap_init()