Re: [ofa-general] [PATCH] [WORKAROUND] CONFIG_PREEMPT_RT and ib_umad_close() issue

Daniel Walker
2007-09-17T17:10:22Z

On Mon, 2007-09-17 at 08:56 -0700, Roland Dreier wrote:
> > When using OFED-1.2.5 based infiniband kernel modules on 2.6.22 based
> > kernels with the Ingo Molnar CONFIG_PREEMPT_RT applied, then commands
> > such as ibnetdiscvoer, smpquery, sminfo, etc. will hang. The problem
> > is with the downgrade_write() rw semaphore usage in the
> > ib_umad_close() routine.
>
> Can you give a few more details on how PREEMPT_RT changes locking
> rules (or just exposes existing bugs maybe?) so that the
> downgrade_write() causes the issue? I would like to fix this cleanly
> but I don't really understand what the problem is.

the read/write semaphore functionality is basically reduced to just a
binary semaphore , i.e. one reader, or one writer . I think the BUG();
in downgrade_write() is likely part of a removal plan for
downgrade_write() (that's just a guess tho)

Daniel