Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 18 Aug 2010 23:11:44 +0400
From:      pluknet <pluknet@gmail.com>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: LOR on nfs: vfs_vnops.c:301 kern_descrip.c:1580
Message-ID:  <AANLkTi=V8bumpGKgi1aLXxhJkdKdpG1jfyrcXbMyc3Yw@mail.gmail.com>
In-Reply-To: <20100818134623.GU2396@deviant.kiev.zoral.com.ua>
References:  <AANLkTimJ=d06D2z24QyRQ98zEa1Pemk4=vkNGLNiX90N@mail.gmail.com> <AANLkTi=22WWy8Z5VWqri1p70iRzyocD9bWvNHwJavZ%2Bj@mail.gmail.com> <20100816185456.GU2396@deviant.kiev.zoral.com.ua> <AANLkTimfZ=UCiX9eo9XCwcROwViFCxJoB-rD1JxdAt2B@mail.gmail.com> <20100817160445.GO2396@deviant.kiev.zoral.com.ua> <AANLkTimyk0ZUnHpxxJuJtTya2U3npj_5Bm8brmwHfzr3@mail.gmail.com> <AANLkTimXxF0US60NsbOV_HvRrib7SJWmrLqpEpznPTxB@mail.gmail.com> <20100818134623.GU2396@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
--00148537acda1cb5f5048e1dd696
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 18 August 2010 17:46, Kostik Belousov <kostikbel@gmail.com> wrote:
> On Wed, Aug 18, 2010 at 02:43:19PM +0400, pluknet wrote:
>> On 18 August 2010 12:07, pluknet <pluknet@gmail.com> wrote:
>> > On 17 August 2010 20:04, Kostik Belousov <kostikbel@gmail.com> wrote:
>> >
>> >>
>> >> Also please take a note of the John' suggestion to use the taskqueue.
>> >
>> > I decided to go this road. Thank you both.
>> > Now I do nfs buildkernel survive and prepare some benchmark results.
>> >
>>
>> So, I modified the patch to defer proc_create() with taskqueue(9).
>> Below is `time make -j5 buildkernel WITHOUT_MODULES=3Dyes` perf. evaluat=
ion.
>> Done on 4-way CPU on clean /usr/obj with /usr/src & /usr/obj both
>> nfs-mounted over 1Gbit LAN.
>>
>> clean old
>> 1137.985u 239.411s 7:42.15 298.0% =A0 =A0 =A0 6538+2133k 87+43388io 226p=
f+0w
>>
>> clean new
>> 1134.755u 240.032s 7:41.25 298.0% =A0 =A0 =A0 6553+2133k 87+43367io 224p=
f+0w
>>
>> Patch needs polishing, though it generally works.
>> Not sure if shep_chan (or whatever name it will get) needs locking.
> As I said yesterday, if several requests to create nfsiod coming one
> after another, you would loose all but the last.
>
> You should put the requests into the list, probably protected by
> nfs_iod_mtx.
>

How about this patch? Still several things to ask.
1) I used malloc instance w/ M_NOWAIT, since it's called with nfs_iod_mtx h=
eld.
2) Probably busy/done gymnastics is a wrong mess. Your help is appreciated.
3) if (1) is fine, is it right to use fail: logic (i.e. set
NFSIOD_NOT_AVAILABLE)
on memory shortage? Not tested.

There are debug printf() left intentionally to see how 3 contexts run under=
 load
to each other. I attached these messages as well if that makes sense.

--=20
wbr,
pluknet

--00148537acda1cb5f5048e1dd696
Content-Type: application/octet-stream; name="dmesg.out"
Content-Disposition: attachment; filename="dmesg.out"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gd0k1q2c1

bmV3OiBuaXA6IDB4ZmZmZmZmMDAwMjdkZWM2MApuZXc6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2
ZGY2MApuZXc6IG5pX2lvZDogMAp0cTogU0xJU1QgbmlwOiAweGZmZmZmZjAwMDI3ZGVjNjAKdHE6
IG5pcDogMHhmZmZmZmYwMDAyN2RlYzYwCnRxOiBuaV9pbnN0OiAweGZmZmZmZmZmODBlNmRmNjAK
dHE6IG5pX2lvZDogMAppbnN0YW5jZTogMHhmZmZmZmZmZjgwZTZkZjYwCm15aW9kOiAwCm5ldzog
bmlwOiAweGZmZmZmZjAwMDI1MGMwNDAKbmV3OiBuaV9pbnN0OiAweGZmZmZmZmZmODBlNmRmNjAK
bmV3OiBuaV9pb2Q6IDAKdHE6IFNMSVNUIG5pcDogMHhmZmZmZmYwMDAyNTBjMDQwCnRxOiBuaXA6
IDB4ZmZmZmZmMDAwMjUwYzA0MAp0cTogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZjYwCnRxOiBu
aV9pb2Q6IDAKaW5zdGFuY2U6IDB4ZmZmZmZmZmY4MGU2ZGY2MApteWlvZDogMApuZXc6IG5pcDog
MHhmZmZmZmYwMDAyN2RlYzQwCm5ldzogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZjYwCm5ldzog
bmlfaW9kOiAwCnRxOiBTTElTVCBuaXA6IDB4ZmZmZmZmMDAwMjdkZWM0MAp0cTogbmlwOiAweGZm
ZmZmZjAwMDI3ZGVjNDAKdHE6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY2MAp0cTogbmlfaW9k
OiAwCmluc3RhbmNlOiAweGZmZmZmZmZmODBlNmRmNjAKbXlpb2Q6IDAKbmV3OiBuaXA6IDB4ZmZm
ZmZmMDAwMmZlYTAwMApuZXc6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY2NApuZXc6IG5pX2lv
ZDogMQp0cTogU0xJU1QgbmlwOiAweGZmZmZmZjAwMDJmZWEwMDAKdHE6IG5pcDogMHhmZmZmZmYw
MDAyZmVhMDAwbmV3OiBuaXA6IDB4ZmZmZmZmMDAwMjk2ZmM4MAp0cTogbmlfaW5zdDogMHhmZmZm
ZmZmZjgwZTZkZjY0Cm5ldzogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZjY4CnRxOiBuaV9pb2Q6
IDEKbmV3OiBuaV9pb2Q6IDIKaW5zdGFuY2U6IDB4ZmZmZmZmZmY4MGU2ZGY2NAoKbXlpb2Q6IDEK
dHE6IFNMSVNUIG5pcDogMHhmZmZmZmYwMDAyOTZmYzgwCnRxOiBuaXA6IDB4ZmZmZmZmMDAwMjk2
ZmM4MG5ldzogbmlwOiAweGZmZmZmZjAwMDI5NmZjNjAKdHE6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4
MGU2ZGY2OApuZXc6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY2Ywp0cTogbmlfaW9kOiAyCm5l
dzogbmlfaW9kOiAzCmluc3RhbmNlOiAweGZmZmZmZmZmODBlNmRmNjgKCm15aW9kOiAyCnRxOiBT
TElTVCBuaXA6IDB4ZmZmZmZmMDAwMjk2ZmM2MAp0cTogbmlwOiAweGZmZmZmZjAwMDI5NmZjNjAK
dHE6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY2Ywp0cTogbmlfaW9kOiAzCmluc3RhbmNlOiAw
eGZmZmZmZmZmODBlNmRmNmMKbXlpb2Q6IDMKbmV3OiBuaXA6IDB4ZmZmZmZmMDAwMjUwZDY4MApu
ZXc6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY3MApuZXc6IG5pX2lvZDogNAp0cTogU0xJU1Qg
bmlwOiAweGZmZmZmZjAwMDI1MGQ2ODAKdHE6IG5pcDogMHhmZmZmZmYwMDAyNTBkNjgwCnRxOiBu
aV9pbnN0OiAweGZmZmZmZmZmODBlNmRmNzAKdHE6IG5pX2lvZDogNAppbnN0YW5jZTogMHhmZmZm
ZmZmZjgwZTZkZjcwCm15aW9kOiA0Cm5ldzogbmlwOiAweGZmZmZmZjAwMDI1MGMwMjAKbmV3OiBu
aV9pbnN0OiAweGZmZmZmZmZmODBlNmRmNzQKbmV3OiBuaV9pb2Q6IDUKdHE6IFNMSVNUIG5pcDog
MHhmZmZmZmYwMDAyNTBjMDIwCnRxOiBuaXA6IDB4ZmZmZmZmMDAwMjUwYzAyMAp0cTogbmlfaW5z
dDogMHhmZmZmZmZmZjgwZTZkZjc0CnRxOiBuaV9pb2Q6IDUKaW5zdGFuY2U6IDB4ZmZmZmZmZmY4
MGU2ZGY3NApteWlvZDogNQpuZXc6IG5pcDogMHhmZmZmZmYwMDAyN2RlYzAwCm5ldzogbmlfaW5z
dDogMHhmZmZmZmZmZjgwZTZkZjc0Cm5ldzogbmlfaW9kOiA1CnRxOiBTTElTVCBuaXA6IDB4ZmZm
ZmZmMDAwMjdkZWMwMAp0cTogbmlwOiAweGZmZmZmZjAwMDI3ZGVjMDAKdHE6IG5pX2luc3Q6IDB4
ZmZmZmZmZmY4MGU2ZGY3NAp0cTogbmlfaW9kOiA1Cmluc3RhbmNlOiAweGZmZmZmZmZmODBlNmRm
NzQKbXlpb2Q6IDUKbmV3OiBuaXA6IDB4ZmZmZmZmMDAwMjUwYzAwMApuZXc6IG5pX2luc3Q6IDB4
ZmZmZmZmZmY4MGU2ZGY3OApuZXc6IG5pX2lvZDogNgp0cTogU0xJU1QgbmlwOiAweGZmZmZmZjAw
MDI1MGMwMDAKdHE6IG5pcDogMHhmZmZmZmYwMDAyNTBjMDAwCnRxOiBuaV9pbnN0OiAweGZmZmZm
ZmZmODBlNmRmNzgKdHE6IG5pX2lvZDogNgppbnN0YW5jZTogMHhmZmZmZmZmZjgwZTZkZjc4Cm15
aW9kOiA2Cm5ldzogbmlwOiAweGZmZmZmZjAwMDI5NmZjNDAKbmV3OiBuaV9pbnN0OiAweGZmZmZm
ZmZmODBlNmRmN2MKbmV3OiBuaV9pb2Q6IDcKdHE6IFNMSVNUIG5pcDogMHhmZmZmZmYwMDAyOTZm
YzQwCnRxOiBuaXA6IDB4ZmZmZmZmMDAwMjk2ZmM0MG5ldzogbmlwOiAweGZmZmZmZjAwMDI5NmZj
MjAKdHE6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY3YwpuZXc6IG5pX2luc3Q6IDB4ZmZmZmZm
ZmY4MGU2ZGY4MApuZXc6IG5pX2lvZDogOAp0cTogbmlfaW9kOiA3Cgp0cTogU0xJU1QgbmlwOiAw
eGZmZmZmZjAwMDI5NmZjMjAKdHE6IG5pcDogMHhmZmZmZmYwMDAyOTZmYzIwaW5zdGFuY2U6IDB4
ZmZmZmZmZmY4MGU2ZGY3Ywp0cTogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZjgwCm15aW9kOiA3
CnRxOiBuaV9pb2Q6IDgKCmluc3RhbmNlOiAweGZmZmZmZmZmODBlNmRmODAKbXlpb2Q6IDgKbmV3
OiBuaXA6IDB4ZmZmZmZmMDAwMjdkZWJlMApuZXc6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY4
NApuZXc6IG5pX2lvZDogOQp0cTogU0xJU1QgbmlwOiAweGZmZmZmZjAwMDI3ZGViZTAKdHE6IG5p
cDogMHhmZmZmZmYwMDAyN2RlYmUwCnRxOiBuaV9pbnN0OiAweGZmZmZmZmZmODBlNmRmODQKdHE6
IG5pX2lvZDogOQppbnN0YW5jZTogMHhmZmZmZmZmZjgwZTZkZjg0Cm15aW9kOiA5Cm5ldzogbmlw
OiAweGZmZmZmZjAwMDI3ZGViYzAKbmV3OiBuaV9pbnN0OiAweGZmZmZmZmZmODBlNmRmODgKbmV3
OiBuaV9pb2Q6IDEwCnRxOiBTTElTVCBuaXA6IDB4ZmZmZmZmMDAwMjdkZWJjMAp0cTogbmlwOiAw
eGZmZmZmZjAwMDI3ZGViYzAKdHE6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY4OAp0cTogbmlf
aW9kOiAxMAppbnN0YW5jZTogMHhmZmZmZmZmZjgwZTZkZjg4Cm15aW9kOiAxMApuZXc6IG5pcDog
MHhmZmZmZmYwMDAyN2RlYzAwCm5ldzogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZjhjCm5ldzog
bmlfaW9kOiAxMQp0cTogU0xJU1QgbmlwOiAweGZmZmZmZjAwMDI3ZGVjMDAKdHE6IG5pcDogMHhm
ZmZmZmYwMDAyN2RlYzAwCnRxOiBuaV9pbnN0OiAweGZmZmZmZmZmODBlNmRmOGMKdHE6IG5pX2lv
ZDogMTEKaW5zdGFuY2U6IDB4ZmZmZmZmZmY4MGU2ZGY4YwpteWlvZDogMTEKbmV3OiBuaXA6IDB4
ZmZmZmZmMDAwMjk2ZmMwMApuZXc6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY5MApuZXc6IG5p
X2lvZDogMTIKdHE6IFNMSVNUIG5pcDogMHhmZmZmZmYwMDAyOTZmYzAwCnRxOiBuaXA6IDB4ZmZm
ZmZmMDAwMjk2ZmMwMAp0cTogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZjkwCnRxOiBuaV9pb2Q6
IDEyCmluc3RhbmNlOiAweGZmZmZmZmZmODBlNmRmOTAKbXlpb2Q6IDEyCm5ldzogbmlwOiAweGZm
ZmZmZjAwMDI5NmZiZTAKbmV3OiBuaV9pbnN0OiAweGZmZmZmZmZmODBlNmRmOTQKbmV3OiBuaV9p
b2Q6IDEzCnRxOiBTTElTVCBuaXA6IDB4ZmZmZmZmMDAwMjk2ZmJlMAp0cTogbmlwOiAweGZmZmZm
ZjAwMDI5NmZiZTAKdHE6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY5NAp0cTogbmlfaW9kOiAx
MwppbnN0YW5jZTogMHhmZmZmZmZmZjgwZTZkZjk0Cm15aW9kOiAxMwpuZXc6IG5pcDogMHhmZmZm
ZmYwMDAyNTBkNjgwCm5ldzogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZjk4Cm5ldzogbmlfaW9k
OiAxNAp0cTogU0xJU1QgbmlwOiAweGZmZmZmZjAwMDI1MGQ2ODAKdHE6IG5pcDogMHhmZmZmZmYw
MDAyNTBkNjgwCnRxOiBuaV9pbnN0OiAweGZmZmZmZmZmODBlNmRmOTgKdHE6IG5pX2lvZDogMTQK
aW5zdGFuY2U6IDB4ZmZmZmZmZmY4MGU2ZGY5OApteWlvZDogMTQKbmV3OiBuaXA6IDB4ZmZmZmZm
MDAwMjdkZWJhMApuZXc6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGY5YwpuZXc6IG5pX2lvZDog
MTUKdHE6IFNMSVNUIG5pcDogMHhmZmZmZmYwMDAyN2RlYmEwCnRxOiBuaXA6IDB4ZmZmZmZmMDAw
MjdkZWJhMAp0cTogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZjljCnRxOiBuaV9pb2Q6IDE1Cmlu
c3RhbmNlOiAweGZmZmZmZmZmODBlNmRmOWMKbXlpb2Q6IDE1Cm5ldzogbmlwOiAweGZmZmZmZjAw
MDI5NmZiYzAKbmV3OiBuaV9pbnN0OiAweGZmZmZmZmZmODBlNmRmYTAKbmV3OiBuaV9pb2Q6IDE2
CnRxOiBTTElTVCBuaXA6IDB4ZmZmZmZmMDAwMjk2ZmJjMAp0cTogbmlwOiAweGZmZmZmZjAwMDI5
NmZiYzAKdHE6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGZhMAp0cTogbmlfaW9kOiAxNgppbnN0
YW5jZTogMHhmZmZmZmZmZjgwZTZkZmEwCm15aW9kOiAxNgpuZXc6IG5pcDogMHhmZmZmZmYwMDAy
N2RlYzYwCm5ldzogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZmE0Cm5ldzogbmlfaW9kOiAxNwp0
cTogU0xJU1QgbmlwOiAweGZmZmZmZjAwMDI3ZGVjNjAKdHE6IG5pcDogMHhmZmZmZmYwMDAyN2Rl
YzYwbmV3OiBuaXA6IDB4ZmZmZmZmMDAwMjdkZWI4MAp0cTogbmlfaW5zdDogMHhmZmZmZmZmZjgw
ZTZkZmE0Cm5ldzogbmlfaW5zdDogMHhmZmZmZmZmZjgwZTZkZmE4CnRxOiBuaV9pb2Q6IDE3Cm5l
dzogbmlfaW9kOiAxOAppbnN0YW5jZTogMHhmZmZmZmZmZjgwZTZkZmE0CgpteWlvZDogMTcKdHE6
IFNMSVNUIG5pcDogMHhmZmZmZmYwMDAyN2RlYjgwCnRxOiBuaXA6IDB4ZmZmZmZmMDAwMjdkZWI4
MG5ldzogbmlwOiAweGZmZmZmZjAwMDI1MGMwNjAKdHE6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2
ZGZhOApuZXc6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGZhYwp0cTogbmlfaW9kOiAxOApuZXc6
IG5pX2lvZDogMTkKaW5zdGFuY2U6IDB4ZmZmZmZmZmY4MGU2ZGZhOAoKbXlpb2Q6IDE4CnRxOiBT
TElTVCBuaXA6IDB4ZmZmZmZmMDAwMjUwYzA2MAp0cTogbmlwOiAweGZmZmZmZjAwMDI1MGMwNjAK
dHE6IG5pX2luc3Q6IDB4ZmZmZmZmZmY4MGU2ZGZhYwp0cTogbmlfaW9kOiAxOQppbnN0YW5jZTog
MHhmZmZmZmZmZjgwZTZkZmFjCm15aW9kOiAxOQo=
--00148537acda1cb5f5048e1dd696
Content-Type: text/x-patch; charset=US-ASCII; name="nfsiod_tq_lock.diff"
Content-Disposition: attachment; filename="nfsiod_tq_lock.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gd0k2byo2

SW5kZXg6IHN5cy9uZnNjbGllbnQvbmZzX3N1YnMuYwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBzeXMvbmZzY2xp
ZW50L25mc19zdWJzLmMJKHJldmlzaW9uIDIxMTI3OSkKKysrIHN5cy9uZnNjbGllbnQvbmZzX3N1
YnMuYwkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksNyBAQAogI2luY2x1ZGUgPHN5cy9zeXNl
bnQuaD4KICNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgogI2luY2x1ZGUgPHN5cy9zeXNwcm90by5o
PgorI2luY2x1ZGUgPHN5cy90YXNrcXVldWUuaD4KIAogI2luY2x1ZGUgPHZtL3ZtLmg+CiAjaW5j
bHVkZSA8dm0vdm1fb2JqZWN0Lmg+CkBAIC0xMTcsNiArMTE4LDcgQEAKIAogc3RydWN0IG5mc19i
dWZxCW5mc19idWZxOwogc3RhdGljIHN0cnVjdCBtdHggbmZzX3hpZF9tdHg7CitzdHJ1Y3QgdGFz
awluZnNfbmZzaW9kbmV3X3Rhc2s7CiAKIC8qCiAgKiBhbmQgdGhlIHJldmVyc2UgbWFwcGluZyBm
cm9tIGdlbmVyaWMgdG8gVmVyc2lvbiAyIHByb2NlZHVyZSBudW1iZXJzCkBAIC0zNTQsNiArMzU2
LDcgQEAKIAkgKi8KIAltdHhfaW5pdCgmbmZzX2lvZF9tdHgsICJORlMgaW9kIGxvY2siLCBOVUxM
LCBNVFhfREVGKTsKIAltdHhfaW5pdCgmbmZzX3hpZF9tdHgsICJORlMgeGlkIGxvY2siLCBOVUxM
LCBNVFhfREVGKTsKKwlUQVNLX0lOSVQoJm5mc19uZnNpb2RuZXdfdGFzaywgMCwgbmZzX25mc2lv
ZG5ld190cSwgTlVMTCk7CiAKIAluZnNfcGJ1Zl9mcmVlY250ID0gbnN3YnVmIC8gMiArIDE7CiAK
SW5kZXg6IHN5cy9uZnNjbGllbnQvbmZzX25mc2lvZC5jCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9uZnNj
bGllbnQvbmZzX25mc2lvZC5jCShyZXZpc2lvbiAyMTEyNzkpCisrKyBzeXMvbmZzY2xpZW50L25m
c19uZnNpb2QuYwkod29ya2luZyBjb3B5KQpAQCAtNTksNiArNTksNyBAQAogI2luY2x1ZGUgPHN5
cy9mY250bC5oPgogI2luY2x1ZGUgPHN5cy9sb2NrZi5oPgogI2luY2x1ZGUgPHN5cy9tdXRleC5o
PgorI2luY2x1ZGUgPHN5cy90YXNrcXVldWUuaD4KIAogI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4K
ICNpbmNsdWRlIDxuZXRpbmV0L3RjcC5oPgpAQCAtNzUsNiArNzYsMTcgQEAKIAogc3RhdGljIHZv
aWQJbmZzc3ZjX2lvZCh2b2lkICopOwogCitzdHJ1Y3QgbmZzaW9kX3N0ciB7CisJU0xJU1RfRU5U
UlkobmZzaW9kX3N0cikgbmlfbGlzdDsKKwlpbnQgKm5pX2luc3Q7CisJaW50IG5pX2lvZDsKKwlp
bnQgbmlfZXJyb3I7CisJaW50IG5pX2J1c3k7CisJaW50IG5pX2RvbmU7Cit9Oworc3RhdGljIFNM
SVNUX0hFQUQoLCBuZnNpb2Rfc3RyKSBuZnNpb2RoZWFkID0KKyAgICBTTElTVF9IRUFEX0lOSVRJ
QUxJWkVSKG5mc2lvZGhlYWQpOworCiBzdGF0aWMgaW50IG5mc19hc3luY2RhZW1vbltORlNfTUFY
QVNZTkNEQUVNT05dOwogCiBTWVNDVExfREVDTChfdmZzX25mcyk7CkBAIC0xNTksMTEgKzE3MSwz
NCBAQAogICAgIHNpemVvZiAobmZzX2lvZG1heCksIHN5c2N0bF9pb2RtYXgsICJJVSIsCiAgICAg
Ik1heCBudW1iZXIgb2YgbmZzaW9kIGt0aHJlYWRzIik7CiAKK3ZvaWQKK25mc19uZnNpb2RuZXdf
dHEoX191bnVzZWQgdm9pZCAqYXJnLCBpbnQgcGVuZGluZykKK3sKKwlzdHJ1Y3QgbmZzaW9kX3N0
ciAqbmlwOworCisJbXR4X2xvY2soJm5mc19pb2RfbXR4KTsKKwlTTElTVF9GT1JFQUNIKG5pcCwg
Jm5mc2lvZGhlYWQsIG5pX2xpc3QpIHsKKwkJcHJpbnRmKCJ0cTogU0xJU1QgbmlwOiAlcFxuIiwg
bmlwKTsKKwkJaWYgKG5pcC0+bmlfYnVzeSA9PSAwKSB7CisJCQluaXAtPm5pX2J1c3kgPSAxOwor
CQkJYnJlYWs7CisJCX0KKwl9CisJbXR4X3VubG9jaygmbmZzX2lvZF9tdHgpOworCUtBU1NFUlQo
bmlwICE9IE5VTEwsICgibmZzX25mc2lvZG5ld190cTogbmlwIGlzIE5VTEwiKSk7CisJcHJpbnRm
KCJ0cTogbmlwOiAlcFxuIiwgbmlwKTsKKwlwcmludGYoInRxOiBuaV9pbnN0OiAlcFxuIiwgbmlw
LT5uaV9pbnN0KTsKKwlwcmludGYoInRxOiBuaV9pb2Q6ICVkXG4iLCBuaXAtPm5pX2lvZCk7CisJ
bmlwLT5uaV9lcnJvciA9IGtwcm9jX2NyZWF0ZShuZnNzdmNfaW9kLCBuaXAtPm5pX2luc3QsIE5V
TEwsCisJICAgIFJGSElHSFBJRCwgMCwgIm5mc2lvZCAlZCIsIG5pcC0+bmlfaW9kKTsKKwluaXAt
Pm5pX2RvbmUgPSAxOworfQorCiBpbnQKIG5mc19uZnNpb2RuZXcoaW50IHNldF9pb2R3YW50KQog
ewotCWludCBlcnJvciwgaTsKLQlpbnQgbmV3aW9kOworCWludCBpLCBuZXdpb2QsIGVycm9yOwor
CXN0cnVjdCBuZnNpb2Rfc3RyICpuaXAsICpuaXBfdGVtcDsKIAogCWlmIChuZnNfbnVtYXN5bmMg
Pj0gbmZzX2lvZG1heCkKIAkJcmV0dXJuICgtMSk7CkBAIC0xNzgsMTcgKzIxMywzNCBAQAogCQly
ZXR1cm4gKC0xKTsKIAlpZiAoc2V0X2lvZHdhbnQgPiAwKQogCQluZnNfaW9kd2FudFtpXSA9IE5G
U0lPRF9DUkVBVEVEX0ZPUl9ORlNfQVNZTkNJTzsKKwluaXAgPSBtYWxsb2Moc2l6ZW9mKCpuaXAp
LCBNX1RFTVAsIE1fTk9XQUlUIHwgTV9aRVJPKTsKKwlpZiAobmlwID09IE5VTEwpCisJCWdvdG8g
ZmFpbDsKKwluaXAtPm5pX2luc3QgPSBuZnNfYXN5bmNkYWVtb24gKyBpOworCW5pcC0+bmlfaW9k
ID0gbmV3aW9kOworCVNMSVNUX0lOU0VSVF9IRUFEKCZuZnNpb2RoZWFkLCBuaXAsIG5pX2xpc3Qp
OwogCW10eF91bmxvY2soJm5mc19pb2RfbXR4KTsKLQllcnJvciA9IGtwcm9jX2NyZWF0ZShuZnNz
dmNfaW9kLCBuZnNfYXN5bmNkYWVtb24gKyBpLCBOVUxMLCBSRkhJR0hQSUQsCi0JICAgIDAsICJu
ZnNpb2QgJWQiLCBuZXdpb2QpOworCXByaW50ZigibmV3OiBuaXA6ICVwXG4iLCBuaXApOworCXBy
aW50ZigibmV3OiBuaV9pbnN0OiAlcFxuIiwgbmlwLT5uaV9pbnN0KTsKKwlwcmludGYoIm5ldzog
bmlfaW9kOiAlZFxuIiwgbmlwLT5uaV9pb2QpOworCXRhc2txdWV1ZV9lbnF1ZXVlKHRhc2txdWV1
ZV90aHJlYWQsICZuZnNfbmZzaW9kbmV3X3Rhc2spOwogCW10eF9sb2NrKCZuZnNfaW9kX210eCk7
Ci0JaWYgKGVycm9yKSB7Ci0JCWlmIChzZXRfaW9kd2FudCA+IDApCi0JCQluZnNfaW9kd2FudFtp
XSA9IE5GU0lPRF9OT1RfQVZBSUxBQkxFOwotCQlyZXR1cm4gKC0xKTsKKwllcnJvciA9IG5pcC0+
bmlfZXJyb3I7CisJU0xJU1RfRk9SRUFDSF9TQUZFKG5pcCwgJm5mc2lvZGhlYWQsIG5pX2xpc3Qs
IG5pcF90ZW1wKSB7CisJCWlmIChuaXAtPm5pX2J1c3kgIT0gMCAmJiBuaXAtPm5pX2RvbmUgIT0g
MCkgeworCQkJU0xJU1RfUkVNT1ZFKCZuZnNpb2RoZWFkLCBuaXAsIG5mc2lvZF9zdHIsIG5pX2xp
c3QpOworCQkJZnJlZShuaXAsIE1fVEVNUCk7CisJCQlicmVhazsKKwkJfQogCX0KKwlpZiAoZXJy
b3IpCisJCWdvdG8gZmFpbDsKIAluZnNfbnVtYXN5bmMrKzsKIAlyZXR1cm4gKG5ld2lvZCk7Citm
YWlsOgorCWlmIChzZXRfaW9kd2FudCA+IDApCisJCW5mc19pb2R3YW50W2ldID0gTkZTSU9EX05P
VF9BVkFJTEFCTEU7CisJcmV0dXJuICgtMSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yMzEsNiAr
MjgzLDggQEAKIAogCW10eF9sb2NrKCZuZnNfaW9kX210eCk7CiAJbXlpb2QgPSAoaW50ICopaW5z
dGFuY2UgLSBuZnNfYXN5bmNkYWVtb247CisJcHJpbnRmKCJpbnN0YW5jZTogJXBcbiIsIGluc3Rh
bmNlKTsKKwlwcmludGYoIm15aW9kOiAlZFxuIiwgbXlpb2QpOwogCS8qCiAJICogTWFpbiBsb29w
CiAJICovCkluZGV4OiBzeXMvbmZzY2xpZW50L25mcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHN5cy9uZnNj
bGllbnQvbmZzLmgJKHJldmlzaW9uIDIxMTI3OSkKKysrIHN5cy9uZnNjbGllbnQvbmZzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTEyNSw2ICsxMjUsNyBAQAogCiBleHRlcm4gc3RydWN0IG5mc3N0YXRz
IG5mc3N0YXRzOwogZXh0ZXJuIHN0cnVjdCBtdHggbmZzX2lvZF9tdHg7CitleHRlcm4gc3RydWN0
IHRhc2sgbmZzX25mc2lvZG5ld190YXNrOwogCiBleHRlcm4gaW50IG5mc19udW1hc3luYzsKIGV4
dGVybiB1bnNpZ25lZCBpbnQgbmZzX2lvZG1heDsKQEAgLTI1Myw2ICsyNTQsNyBAQAogCSAgICBz
dHJ1Y3QgdWNyZWQgKmNyZWQsIHN0cnVjdCB0aHJlYWQgKnRkKTsKIGludAluZnNfcmVhZGRpcnJw
YyhzdHJ1Y3Qgdm5vZGUgKiwgc3RydWN0IHVpbyAqLCBzdHJ1Y3QgdWNyZWQgKik7CiBpbnQJbmZz
X25mc2lvZG5ldyhpbnQpOwordm9pZAluZnNfbmZzaW9kbmV3X3RxKF9fdW51c2VkIHZvaWQgKiwg
aW50KTsKIGludAluZnNfYXN5bmNpbyhzdHJ1Y3QgbmZzbW91bnQgKiwgc3RydWN0IGJ1ZiAqLCBz
dHJ1Y3QgdWNyZWQgKiwgc3RydWN0IHRocmVhZCAqKTsKIGludAluZnNfZG9pbyhzdHJ1Y3Qgdm5v
ZGUgKiwgc3RydWN0IGJ1ZiAqLCBzdHJ1Y3QgdWNyZWQgKiwgc3RydWN0IHRocmVhZCAqKTsKIHZv
aWQJbmZzX2RvaW9fZGlyZWN0d3JpdGUgKHN0cnVjdCBidWYgKik7Cg==
--00148537acda1cb5f5048e1dd696--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=V8bumpGKgi1aLXxhJkdKdpG1jfyrcXbMyc3Yw>