Hi,
> > + if (my_cq->ownpid != cur_pid) {
> > + ehca_err(device, "Invalid caller pid=%x ownpid=%x "
> > +"cq_num=%x",
> > +cur_pid, my_cq->ownpid, my_cq->cq_number);
> > + return -EINVAL;
> > +
Hi Roland!
> > > spin_lock_irqsave(&ehca_cq_idr_lock, flags);
> > > while (my_cq->nr_callbacks)
> > > yield();
>
> > Isn't that code outright buggy? Calling into the scheduler with a
> > spinlock held and local interrupts disabled...
>
> Yes, absolutely --
> >spin_lock_irqsave(&ehca_cq_idr_lock, flags);
> >while (my_cq->nr_callbacks)
> >yield();
> Isn't that code outright buggy? Calling into the scheduler with a
> spinlock held and local interrupts disabled...
Yes, absolutely -- if nr_callbacks is ever nonzero then this wi
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 yiel
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
On Thu, Jan 11, 2007 at 08:08:36PM +0100, Hoang-Nam Nguyen wrote:
> Hello Roland and Christoph H.!
> This is a patch for ehca_cq.c. It removes all direct calls of
> do_mmap()/munmap()
> when creating and destroying a completion queue respectively.
> Thanks
> Nam
This patch looks good, but there
Hello Roland and Christoph H.!
This is a patch for ehca_cq.c. It removes all direct calls of do_mmap()/munmap()
when creating and destroying a completion queue respectively.
Thanks
Nam
Signed-off-by Hoang-Nam Nguyen <[EMAIL PROTECTED]>
---
ehca_cq.c | 65 +++-
7 matches
Mail list logo