void regression2_test(void)
{ int i; struct page *p; int max_slots = RADIX_TREE_MAP_SIZE; unsignedlongint start, end; struct page *pages[1];
printv(1, "running regression test 2 (should take milliseconds)\n"); /* 0. */ for (i = 0; i <= max_slots - 1; i++) {
p = page_alloc();
radix_tree_insert(&mt_tree, i, p);
}
radix_tree_tag_set(&mt_tree, max_slots - 1, PAGECACHE_TAG_DIRTY);
/* 4. */ for (i = max_slots - 1; i >= 0; i--)
free(radix_tree_delete(&mt_tree, i));
/* 5. */ // NOTE: start should not be 0 because radix_tree_gang_lookup_tag_slot // can return.
start = 1;
end = max_slots - 2;
radix_tree_gang_lookup_tag_slot(&mt_tree, (void ***)pages, start, end,
PAGECACHE_TAG_TOWRITE);
/* We remove all the remained nodes */
free(radix_tree_delete(&mt_tree, max_slots));
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.