|
@@ -61,11 +61,11 @@ void __big_gang_check(void)
|
|
|
} while (!wrapped);
|
|
|
}
|
|
|
|
|
|
-void big_gang_check(void)
|
|
|
+void big_gang_check(bool long_run)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
|
- for (i = 0; i < 1000; i++) {
|
|
|
+ for (i = 0; i < (long_run ? 1000 : 3); i++) {
|
|
|
__big_gang_check();
|
|
|
srand(time(0));
|
|
|
printf("%d ", i);
|
|
@@ -270,7 +270,7 @@ static void locate_check(void)
|
|
|
item_kill_tree(&tree);
|
|
|
}
|
|
|
|
|
|
-static void single_thread_tests(void)
|
|
|
+static void single_thread_tests(bool long_run)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
@@ -285,9 +285,9 @@ static void single_thread_tests(void)
|
|
|
printf("after add_and_check: %d allocated\n", nr_allocated);
|
|
|
dynamic_height_check();
|
|
|
printf("after dynamic_height_check: %d allocated\n", nr_allocated);
|
|
|
- big_gang_check();
|
|
|
+ big_gang_check(long_run);
|
|
|
printf("after big_gang_check: %d allocated\n", nr_allocated);
|
|
|
- for (i = 0; i < 2000; i++) {
|
|
|
+ for (i = 0; i < (long_run ? 2000 : 3); i++) {
|
|
|
copy_tag_check();
|
|
|
printf("%d ", i);
|
|
|
fflush(stdout);
|
|
@@ -295,15 +295,23 @@ static void single_thread_tests(void)
|
|
|
printf("after copy_tag_check: %d allocated\n", nr_allocated);
|
|
|
}
|
|
|
|
|
|
-int main(void)
|
|
|
+int main(int argc, char **argv)
|
|
|
{
|
|
|
+ bool long_run = false;
|
|
|
+ int opt;
|
|
|
+
|
|
|
+ while ((opt = getopt(argc, argv, "l")) != -1) {
|
|
|
+ if (opt == 'l')
|
|
|
+ long_run = true;
|
|
|
+ }
|
|
|
+
|
|
|
rcu_register_thread();
|
|
|
radix_tree_init();
|
|
|
|
|
|
regression1_test();
|
|
|
regression2_test();
|
|
|
regression3_test();
|
|
|
- single_thread_tests();
|
|
|
+ single_thread_tests(long_run);
|
|
|
|
|
|
sleep(1);
|
|
|
printf("after sleep(1): %d allocated\n", nr_allocated);
|