Re: [PATCH net] bridge: stp: when using userspace stp stop kernel hello and hold timers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 07/23/2015 07:13 PM, Stephen Hemminger wrote:
> On Thu, 23 Jul 2015 19:05:56 +0200
> Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> wrote:
> 
>> On 07/23/2015 06:59 PM, Stephen Hemminger wrote:
>>> On Thu, 23 Jul 2015 09:07:37 -0700
>>> Nikolay Aleksandrov <nikolay@xxxxxxxxxxxxxxxxxxx> wrote:
>>>   
>>>> +		/* Stop hello and hold timer */
>>>> +		spin_lock_bh(&br->lock);
>>>> +		del_timer(&br->hello_timer);
>>>> +		list_for_each_entry(p, &br->port_list, list)
>>>> +			del_timer(&p->hold_timer);
>>>> +		spin_unlock_bh(&br->lock);  
>>>
>>> Wouldn't it be easier to use del_timer_sync here?
>>>   
>> I think it should work. Also I have an error in the commit message
>> about the kernel BPDU sending which I need to correct. I'll prepare
>> a v2 with your suggestion and fixed commit message.
> 
> The one thing to watch out for with del_timer_sync is that
> the timer routine and the caller can't be using the same lock
> otherwise timer will be spinning waiting to get lock that
> is held by caller who is waiting for timer.
> 

Actually I just noticed the locking was wrong in the patch, also we should use
del_timer() only because a spin_lock is acquired before that and cannot
use the blocking del_timer_sync() inside.
I'll fix it all up in the second version.



[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux