kern/165863
Ryan Stone
rysto32 at gmail.com
Tue Mar 27 21:40:10 UTC 2012
The following reply was made to PR kern/165863; it has been noted by GNATS.
From: Ryan Stone <rysto32 at gmail.com>
To: Eric van Gyzen <eric at vangyzen.net>
Cc: Gleb Smirnoff <glebius at freebsd.org>, Eric van Gyzen <eric_van_gyzen at dell.com>, emaste at freebsd.org,
bug-followup at freebsd.org
Subject: Re: kern/165863
Date: Tue, 27 Mar 2012 17:24:37 -0400
2012/3/9 Eric van Gyzen <eric at vangyzen.net>:
> On 03/09/12 03:20, Gleb Smirnoff wrote:
>>
>> =A0 Hello, Eric and Ed.
>>
>> =A0 Can you look at this patch? I decided to utilize newer callout API,
>> that allows to delegate lock retrieval to the callout subsystem, and
>> this makes things simplier. Hope that should work.
>>
>> =A0 Patch is against head.
>
>
> Doesn't arptimer() still need to acquire the if_afdata_lock in order to f=
ree
> the entry in the normal case (when the llentry is still in the hash bucke=
t
> list)?
Oops, on reviewing the code I believe that this is correct. My test
case wouldn't have had arp entries timing out so I wouldn't have hit
this case. I'll try to come up with a test case for this.
Unfortunately it's not as quite as simple just acquiring
if_afdata_lock because of lock ordering problems. I think that we'll
have to revert the usage of callout_init_rw so that arptimer can
acquire the if_afdata_lock before acquiring the lock LLE_LOCK.
More information about the freebsd-net
mailing list