All of lore.kernel.org
 help / color / mirror / Atom feed
* [parisc-linux] some more questions about __raw_write_trylock() hppa implementation
@ 2006-08-30 20:23 Joel Soete
  2006-08-31  3:59 ` Matthew Wilcox
  0 siblings, 1 reply; 11+ messages in thread
From: Joel Soete @ 2006-08-30 20:23 UTC (permalink / raw)
  To: parisc-linux

Hello all,

I noticed that:
static  __inline__ int __raw_write_trylock(raw_rwlock_t *rw)
{
         __raw_spin_lock(&rw->lock);
         if (rw->counter != 0) {
                 /* this basically never happens */
                 __raw_spin_unlock(&rw->lock);

                 return 0;
         }

         /* got it.  now leave without unlocking */
         rw->counter = -1; /* remember we are locked */
         return 1;
}


so depending the counter is null or not the lock is kept or relaxed?

following my smp pb invextigation the pb I encounter seems to occure rarely and so according to above comment "/* this basically 
never happens */" I place here a panic() in the hope to get a better trace if it start to hang by this place. Unfortunately the 
comment is wrong and system panicing at boot time ;-(

Looking to some other implementation (powerpc and sh in particular), I don't have the feeling that this fnct should have to keep the 
lock in any case. Any idea?

Thanks,
	Joel

_______________________________________________
parisc-linux mailing list
parisc-linux@lists.parisc-linux.org
http://lists.parisc-linux.org/mailman/listinfo/parisc-linux

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2006-09-01 17:19 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-08-30 20:23 [parisc-linux] some more questions about __raw_write_trylock() hppa implementation Joel Soete
2006-08-31  3:59 ` Matthew Wilcox
2006-08-31  6:06   ` Grant Grundler
2006-08-31 12:31     ` Matthew Wilcox
2006-08-31 13:01       ` Michael S. Zick
2006-08-31 13:13         ` Matthew Wilcox
2006-08-31 16:08           ` Grant Grundler
2006-08-31 16:27       ` Grant Grundler
2006-09-01 14:01         ` Matthew Wilcox
2006-09-01 15:57           ` Grant Grundler
2006-09-01 17:19             ` Matthew Wilcox

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.