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>