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

From: Lee Revell <[email-masked]>
Date: Mon, 15 May 2006 13:02:34 -0400

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