Messages in this thread | | | From | Linus Torvalds <> | Date | Thu, 12 Aug 2010 08:57:20 -0700 | Subject | Re: [PATCH 06/11] rwsem: wake queued readers when writer blocks on active read lock |
| |
On Wed, Aug 11, 2010 at 10:09 PM, Michel Lespinasse <walken@google.com> wrote: > On Wed, Aug 11, 2010 at 10:02 PM, Michel Lespinasse <walken@google.com> wrote: >> In arch/ia64/include/asm/rwsem.h I see RWSEM_WAITING_BIAS defined as >> -__IA64_UL_CONST(0x0000000100000000) >> >> This makes it a large, positive unsigned value. This is probably >> throwing off the rwsem_atomic_update(0, sem) < RWSEM_WAITING_BIAS >> comparison in my patch (supposed to be long versus long, but actually >> is long versus unsigned long on ia64). > > FYI, I just verified that RWSEM_WAITING_BIAS is defined as signed on > all architectures except for ia64. So, this would be consistent with > the issue being observed only on ia64.
Good.
Tony, can you verify that just dropping the "__IA64_UL_CONST" makes things work for you? Having a non-working rwsem makes me really nervous, but considering the lack of reports on other architectures, I really do hope this is just a trivial ia64 signedness difference.
Linus
| |