[d-kernel] info [немного недопонял, - В kernel 2.6.16 теперь ждущие блокировки spinlock() не работают?]
gosha
embedded на nm.ru
Сб Июн 17 14:36:58 MSD 2006
Здравствуйте.
Проблема с 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);
}
так она ни на одном мутексе не останавливается...
И в include/linux/spinlock*.h ничего похожего на разблокировку/ блокировку ....
---
include/linux/spinlock-up.h
#define __raw_write_unlock(lock) do { (void)(lock); } while (0)
#else /* DEBUG_SPINLOCK */
#define __raw_spin_is_locked(lock) ((void)(lock), 0)
/* for sched.c and kernel_lock.c: */
# define __raw_spin_lock(lock) do { (void)(lock); } while (0)
# define __raw_spin_unlock(lock) do { (void)(lock); } while (0)
# define __raw_spin_trylock(lock) ({ (void)(lock); 1; })
#endif /* DEBUG_SPINLOCK */
#define __raw_read_can_lock(lock) (((void)(lock), 1))
#define __raw_write_can_lock(lock) (((void)(lock), 1))
#define __raw_spin_unlock_wait(lock) \
do { cpu_relax(); } while (__raw_spin_is_locked(lock))
#endif /* __LINUX_SPINLOCK_UP_H */
Спасибо.
----
--
С Уважением,
gosha
mailto:embedded на nm.ru
Подробная информация о списке рассылки devel-kernel