Re: [PATCH 4/6] myri10ge - First half of the driver

Lee Revell
2006-05-15T17:02:39Z

On Fri, 2006-05-12 at 01:53 +0200, Brice Goglin wrote:
> Francois Romieu wrote:
> >
> >> + spin_lock(&mgp->cmd_lock);
> >> + response->result = 0xffffffff;
> >> + mb();
> >> + myri10ge_pio_copy((void __iomem *) cmd_addr, buf, sizeof (*buf));
> >> +
> >> + /* wait up to 2 seconds */
> >>
> >
> > You must not hold a spinlock for up to 2 seconds.
> >
>
> We are working on reducing the delay to about 15ms. It only occurs when
> the driver is loaded or the link brought up.

I think 15ms is quite a long time to hold a spinlock also - most
spinlocks in the kernel are held for less than 500 microseconds.

Can't you use a mutex?

Lee