[d-kernel] info [немного недопонял, - В kernel 2.6.16 теперь ждущие блокировки spinlock() не работают?]
Sergey Vlasov
vsu на altlinux.ru
Сб Июн 17 20:31:22 MSD 2006
On Sat, Jun 17, 2006 at 10:36:58AM +0000, gosha wrote:
> Проблема с kernel 2.6.16.18/20.- Пробовал пересобрать (портировать) kernel 2.6.16.18:
> static spinlock_t lock;
> spin_lock_init(&lock);
> for(ir=0;ir<128;ir++)
> {spin_lock(&lock);
> printk("%s %s %d spinlock=%ld,%p\r\n", __FILE__, __FUNCTION__, __LINE__, ir, lock.raw_lock);
> }
> так она ни на одном мутексе не останавливается...
Значит, этот тест был выполнен на ядре *-up, где spin_lock()
действительно ничего не делает. Spinlock используются только на SMP
для синхронизации между несколькими процессорами. Код, пытающийся
рекурсивно захватить один и тот же spinlock на одном процессоре,
недопустим - это гарантированный deadlock.
> И в include/linux/spinlock*.h ничего похожего на разблокировку/ блокировку ....
Все реализации spinlock архитектурно-зависимые, и поэтому лежат в
include/asm-*.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 191 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/devel-kernel/attachments/20060617/e8c2128b/attachment.bin
Подробная информация о списке рассылки devel-kernel