реклама на сайте
подробности

 
 
> отладка spinlock-ов
romez777
сообщение Dec 17 2009, 06:37
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 292
Регистрация: 9-11-04
Пользователь №: 1 077



Приветствую.

Сопровождаю продукт, разработанный на базе 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, то все в порядке, но в этом режиме не доступна полная отладочная информация ядра.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
dch
сообщение Dec 18 2009, 20:12
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Вообщето политика там очень простая, такое то ядро стабильно, и вот такая то конфигурация ядра стабильна, uclinux публичный продукт сделанный за свои деньги и за свои нервы, к тому же многих уже нет и многое переписывалось неоднократно, если DEBUG_SPINLOCKS=2 выключить то Вы на этот код попадаете?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 21:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016