Вы не можете быть единственным, у кого есть эта проблема! Запустить небольшой пример было нетривиально.
Для каждого теста, который вы хотите выводить (все хотят выводить, кроме того, кто явно написал тесты), добавьте linsched_print_task_stats();
в конце теста и перекомпилируйте.
Если вы хотите добавить собственный тест, например, перечислив 4 в http://www.ibm.com/developerworks/linux/library/l-linux-scheduler-simulator/, сделайте так:
- Скопируйте код из листинга 4 в конец файла basic_test.c
- инициализировать переменную
count
нулем или другим хорошим значением.
- Изменить
topo_db
на linsched_topo_db
- изменить имя функции на
test_new_test
- Добавьте
TEST(new_test),
к struct test tests[]
, но НЕ внизу, поскольку последний используется в качестве дозорного при печати.
- Добавить функцию в качестве прямого объявления вверху файла
void test_new_test(int argc, char **argv);
- Скомпилируйте и запустите:
/basic_tests list
trivial_bal<br>
basic_bal1<br>
basic_bal2<br>
bal1<br>
new_test<br>
- Попробуйте свою новую команду.
./basic_tests new_test uniprocessor
Task id = 3 (1), exec_time = 7116000000, run_delay = 52092000000,
Task id = 4 (2), exec_time = 7116000000, run_delay = 52093000000,
Task id = 5 (3), exec_time = 7116000000, run_delay = 52094000000,
Task id = 6 (4), exec_time = 7115000000, run_delay = 52095000000,
Task id = 7 (5), exec_time = 7115000000, run_delay = 52091000000,
Task id = 8 (6), exec_time = 3430000000, run_delay = 25771000000,
Task id = 9 (7), exec_time = 3430000000, run_delay = 25772000000,
Task id = 10 (8), exec_time = 3430000000, run_delay = 25773000000,
Task id = 11 (9), exec_time = 3430000000, run_delay = 25774000000,
Task id = 12 (10), exec_time = 3430000000, run_delay = 25775000000,
Task id = 13 (11), exec_time = 7272000000, run_delay = 52725000000,
Total exec_time = 60000000000
Ссылка, которую я упомянул выше, имеет очень хорошее объяснение того, как интерпретировать числа.
Удачи в планировании!