Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: отладка spinlock-ов
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
romez777
Приветствую.

Сопровождаю продукт, разработанный на базе ucLinux-2.4.20, на ARM платформе. Появилась проблема - периодически девайс молча перегружается, без какой-либо диагностики на консоль.

Подозреваю спинлоки, хотелось бы проверить. Выставил DEBUG_SPINLOCKS=2 в include/linux/spinlock.h. Ядро не успевает загрузиться, перегружается. Расследования показали, что проблема где-то в недрах 'rest_init()' в init/main.c. Вот код этой ф-цтии:


static void rest_init(void)
{
kernel_thread(init, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGNAL);
unlock_kernel();
current->need_resched = 1;
cpu_idle();
}


Первые три строчки выполняются, а на 'cpu_idle' спотыкается и ребут. Что я делаю не так ?

PS. Кстати, если выставить DEBUG_SPINLOCKS=1, то все в порядке, но в этом режиме не доступна полная отладочная информация ядра.
dch
Вообщето политика там очень простая, такое то ядро стабильно, и вот такая то конфигурация ядра стабильна, uclinux публичный продукт сделанный за свои деньги и за свои нервы, к тому же многих уже нет и многое переписывалось неоднократно, если DEBUG_SPINLOCKS=2 выключить то Вы на этот код попадаете?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.