[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