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

From: Brice Goglin <[email-masked]>
Date: Mon, 15 May 2006 19:39:47 +0200

Lee Revell wrote:
> 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?
>   

It looks like rtnl_lock protects us here. We are working on it.

Brice