From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Zijlstra Date: Wed, 22 Oct 2008 08:45:27 +0000 Subject: Re: [PATCH 1/2] Allow rwlocks to re-enable interrupts Message-Id: <1224665128.15448.4.camel@twins> List-Id: References: <1224664414.4430.33.camel@elijah.suse.cz> <1224664476.4430.38.camel@elijah.suse.cz> In-Reply-To: <1224664476.4430.38.camel@elijah.suse.cz> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: Petr Tesarik Cc: linux-kernel@vger.kernel.org, linux-ia64@vger.kernel.org, tee@sgi.com, Ingo Molnar On Wed, 2008-10-22 at 10:34 +0200, Petr Tesarik wrote: > c b/kernel/spinlock.c > index 29ab207..f769d8a 100644 > --- a/kernel/spinlock.c > +++ b/kernel/spinlock.c > @@ -121,7 +121,11 @@ unsigned long __lockfunc _read_lock_irqsave(rwlock_t *lock) > local_irq_save(flags); > preempt_disable(); > rwlock_acquire_read(&lock->dep_map, 0, 0, _RET_IP_); > +#ifdef CONFIG_LOCKDEP > LOCK_CONTENDED(lock, _raw_read_trylock, _raw_read_lock); > +#else > + _raw_read_lock_flags(lock, &flags); > +#endif > return flags; > } That should be CONFIG_LOCK_STAT. But aside from that, I really don't like this change, I'd rather you'd create a LOCK_CONTENDED_FLAGS() that can deal with this.