[openib-general] [PATCH/RFC 2.6.21 3/5] ehca: completion queue: remove use of do_mmap()
Christoph Hellwig
hch at infradead.org
Thu Jan 11 11:43:46 PST 2007
On Thu, Jan 11, 2007 at 01:40:54PM -0600, Nathan Lynch wrote:
> Christoph Hellwig wrote:
> > On Thu, Jan 11, 2007 at 08:08:36PM +0100, Hoang-Nam Nguyen wrote:
> >
> > > spin_lock_irqsave(&ehca_cq_idr_lock, flags);
> > > while (my_cq->nr_callbacks)
> > > yield();
> >
> > Calling yield is a very bad idea in general. You should probably
> > add a waitqueue that gets woken when nr_callbacks reaches zero to
> > sleep effectively here.
>
> Isn't that code outright buggy? Calling into the scheduler with a
> spinlock held and local interrupts disabled...
Umm, yes - of course. I missed the spin_lock_irqsave line just above.
More information about the general
mailing list