[PATCH] Add locking to twe(4) so it no longer uses Giant
John Baldwin
jhb at FreeBSD.org
Fri Aug 10 14:05:33 UTC 2012
On 8/10/12 9:52 AM, Mike Tancsa wrote:
> On 8/10/2012 9:31 AM, John Baldwin wrote:
>> On 8/9/12 5:04 PM, Mike Tancsa wrote:
>>> Start up the tw_cli client
>>>
>>> 0{offsite2}# tw_cli
>>> //offsite2> show
>>>
>>> Ctl Model (V)Ports Drives Units NotOpt RRate VRate BBU
>>> ------------------------------------------------------------------------
>>> c0 9650SE-2LP 2 2 1 0 1 1 -
>>>
>>>
>>> //offsite2> exit
>>> 0{offsite2}# ls -l /dev/tw*
>>> crw------- 1 root operator - 0, 37 Aug 9 16:58 /dev/twa0
>>> crw-r----- 1 root operator - 0, 174 Aug 9 17:00 /dev/twed0
>>> 0{offsite2}#
>>>
>>>
>>> It then disappears ?!
>>
>> Bizarre, it seems to disappear while tw_cli is running? I'm curious if
>> 'rm -W /dev/twe0' brings it back?
>
> nada
> 0{offsite2}# rm -W /dev/twe0
> rm: /dev/twe0: No such file or directory
> 1{offsite2}# rm -W /dev/twe0
> rm: /dev/twe0: No such file or directory
> 1{offsite2}# ls -l /dev/twe*
> crw-r----- 1 root operator - 0, 174 Aug 9 17:00 /dev/twed0
> 0{offsite2}#
>
>>
>> If so, it might be interesting to see a ktrace of tw_cli.
>>
>
> I just ran ktrace tw_cli
> File is available at
>
> http://www.tancsa.com/misc/ktrace.out
> and
> http://www.tancsa.com/misc/ktrace.txt
5972 tw_cli CALL
__sysctl(0x7fffffffd798,0x2,0x7fffffffd7a0,0x7fffffffd790,0x7fffffffd960,0x16)
5972 tw_cli SCTL "sysctl.name2oid"
5972 tw_cli RET __sysctl -1 errno 2 No such file or directory
5972 tw_cli CALL unlink(0x7fffffffd9d0)
5972 tw_cli NAMI "/dev/twe0"
5972 tw_cli RET unlink 0
...
Oh! I moved the sysctl's for twe out of hw and under the device node.
That seem to have broken tw_cli. I will revert that and generate an
updated patch.
Try http://www.FreeBSD.org/~jhb/patches/twe_locking2.patch
--
John Baldwin
More information about the freebsd-current
mailing list