From owner-freebsd-arch@FreeBSD.ORG Tue Jul 24 10:17:46 2007 Return-Path: Delivered-To: arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CCD9616A417; Tue, 24 Jul 2007 10:17:46 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id 223AE13C45A; Tue, 24 Jul 2007 10:17:46 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 1018C46E20; Tue, 24 Jul 2007 06:17:45 -0400 (EDT) Date: Tue, 24 Jul 2007 11:17:45 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: current@FreeBSD.og Message-ID: <20070724110908.T83919@fledge.watson.org> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-894572789-1185272265=:83919" Cc: arch@FreeBSD.org, bz@FreeBSD.org, gnn@FreeBSD.org Subject: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 10:17:46 -0000 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-894572789-1185272265=:83919 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Dear all, Per many discussions over the past few years, we've finally reached the end of the road on non-MPSAFE network protocol components. Recently, Bjoern, George, and I resolved, in various ways, the last few remaining protocol-layer dependencies (IPSEC, i4b, IPX over IP, netatm), and there are now no Giant-dependent protocol components left. This is the result of a lot of hardware work by a great many FreeBSD developers over the past six years, and I really appreciate everyone's hard work to make this possible! Attached is the first of a series of patches to start removing the NET_NEEDS_GIANT and debug.mpsafenet scaffolding. This source code declaration was used by optionally compiled components to declare a strict requirement for Giant, and forced Giant over the entire network stack. debug.mpsafenet could also be set by users in loader.conf in order to similar force Giant over the network stack, and existed for two reasons: to allow Giant to be put back over the network stack for debugging purposes, and to support these recently removed or fixed unsafe components. As such, this patch removes the following: - NET_NEEDS_GIANT() macro - debug.mpsafenet tunable/sysctl and associated debug_mpsafenet variable, as well as functions supporting these. - Use of this variable to control acqusition of Giant in network-related interrupt handlers and various other paths. If also converts the following to no-ops, allowing them to be gradually removed in a series of follow-up patches to minimize risk and disruption: - NET_LOCK_GIANT(), NET_UNLOCK_GIANT() - NET_ASSERT_GIANT() Finally, the following conversion takes place: - NET_CALLOUT_MPSAFE is now an alias for CALLOUT_MPSAFE The patch is attached, and I would appreciate feedback on the patch and any testing. Assuming no serious negative feedback in the next couple of days, I'll request permission to commit from re@. The patches that follow will: - Replace all remaining NET_CALLOUT_MPSAFE instances with CALLOUT_MPSAFE, removing NET_CALLOUT_MPSAFE. - Removing all references to NET_{LOCK,UNLOCK,ASSERT}_GIANT. - Clean up some other weird Giant-related compatibility in the Cronyx drivers. Things this patch doesn't do: - Address the WITNESS lock order warnings generated when credential rules are used with ipfw/pf. These are believed to be annoying but non-harmful, as deadlocks are no longer reported. This view may be revised if evidence to the contrary is presented. - Remove IFF_NEEDSGIANT, a similar set of Giant-acquiring shims used to protect non-MPSAFE device drivers. I had hoped to remove this in 7.0, but I think this will happen instead for 8.0 due to remaining non-MPSAFEty in a few key network device drivers. Patch attached, and also available at this URL: http://www.watson.org/~robert/freebsd/netperf/20070724-no_net_needs_giant_1.diff Robert N M Watson Computer Laboratory University of Cambridge --0-894572789-1185272265=:83919 Content-Type: TEXT/plain; charset=US-ASCII; name=20070724-no_net_needs_giant_1.diff Content-Transfer-Encoding: BASE64 Content-ID: <20070724111744.B83919@fledge.watson.org> Content-Description: Content-Disposition: attachment; filename=20070724-no_net_needs_giant_1.diff SW5kZXg6IGRldi9hdGgvYXRoX3JhdGUvYW1yci9hbXJyLmMNCj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvem9vL2N2c3VwL0ZyZWVCU0Qt Q1ZTL3NyYy9zeXMvZGV2L2F0aC9hdGhfcmF0ZS9hbXJyL2FtcnIuYyx2DQpy ZXRyaWV2aW5nIHJldmlzaW9uIDEuMTMNCmRpZmYgLXUgLXIxLjEzIGFtcnIu Yw0KLS0tIGRldi9hdGgvYXRoX3JhdGUvYW1yci9hbXJyLmMJMTEgSnVuIDIw MDcgMDM6MzY6NTAgLTAwMDAJMS4xMw0KKysrIGRldi9hdGgvYXRoX3JhdGUv YW1yci9hbXJyLmMJMTYgSnVsIDIwMDcgMDc6NDY6NDMgLTAwMDANCkBAIC01 MDQsNyArNTA0LDcgQEANCiAJaWYgKGFzYyA9PSBOVUxMKQ0KIAkJcmV0dXJu IE5VTEw7DQogCWFzYy0+YXJjLmFyY19zcGFjZSA9IHNpemVvZihzdHJ1Y3Qg YW1ycl9ub2RlKTsNCi0JY2FsbG91dF9pbml0KCZhc2MtPnRpbWVyLCBkZWJ1 Z19tcHNhZmVuZXQgPyBDQUxMT1VUX01QU0FGRSA6IDApOw0KKwljYWxsb3V0 X2luaXQoJmFzYy0+dGltZXIsIENBTExPVVRfTVBTQUZFKTsNCiAJYXRoX3Jh dGVfc3lzY3RsYXR0YWNoKHNjKTsNCiANCiAJcmV0dXJuICZhc2MtPmFyYzsN CkluZGV4OiBkZXYvYXRoL2F0aF9yYXRlL29ub2Uvb25vZS5jDQo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3pvby9jdnN1cC9GcmVlQlNE LUNWUy9zcmMvc3lzL2Rldi9hdGgvYXRoX3JhdGUvb25vZS9vbm9lLmMsdg0K cmV0cmlldmluZyByZXZpc2lvbiAxLjE0DQpkaWZmIC11IC1yMS4xNCBvbm9l LmMNCi0tLSBkZXYvYXRoL2F0aF9yYXRlL29ub2Uvb25vZS5jCTExIEp1biAy MDA3IDAzOjM2OjUwIC0wMDAwCTEuMTQNCisrKyBkZXYvYXRoL2F0aF9yYXRl L29ub2Uvb25vZS5jCTE2IEp1bCAyMDA3IDA3OjQ2OjU3IC0wMDAwDQpAQCAt NDc4LDcgKzQ3OCw3IEBADQogCWlmIChvc2MgPT0gTlVMTCkNCiAJCXJldHVy biBOVUxMOw0KIAlvc2MtPmFyYy5hcmNfc3BhY2UgPSBzaXplb2Yoc3RydWN0 IG9ub2Vfbm9kZSk7DQotCWNhbGxvdXRfaW5pdCgmb3NjLT50aW1lciwgZGVi dWdfbXBzYWZlbmV0ID8gQ0FMTE9VVF9NUFNBRkUgOiAwKTsNCisJY2FsbG91 dF9pbml0KCZvc2MtPnRpbWVyLCBDQUxMT1VUX01QU0FGRSk7DQogCWF0aF9y YXRlX3N5c2N0bGF0dGFjaChzYyk7DQogDQogCXJldHVybiAmb3NjLT5hcmM7 DQpJbmRleDogZGV2L2NlL2lmX2NlLmMNCj09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NClJDUyBmaWxlOiAvem9vL2N2c3VwL0ZyZWVCU0QtQ1ZTL3NyYy9zeXMv ZGV2L2NlL2lmX2NlLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjgNCmRp ZmYgLXUgLXIxLjggaWZfY2UuYw0KLS0tIGRldi9jZS9pZl9jZS5jCTI1IE1h ciAyMDA3IDIwOjIxOjMxIC0wMDAwCTEuOA0KKysrIGRldi9jZS9pZl9jZS5j CTE2IEp1bCAyMDA3IDA3OjQ3OjQ1IC0wMDAwDQpAQCAtMjYwNCwxMyArMjYw NCw2IEBADQogI2lmIF9fRnJlZUJTRF92ZXJzaW9uIDwgNTAwMDAwDQogCWRl diA9IG1ha2VkZXYgKENERVZfTUFKT1IsIDApOw0KICNlbmRpZg0KLSNpZiBf X0ZyZWVCU0RfdmVyc2lvbiA+PSA1MDExMTQNCi0JaWYgKCFkZWJ1Z19tcHNh ZmVuZXQgJiYgY2VfbXBzYWZlbmV0KSB7DQotCQlwcmludGYgKCJXT1JOSU5H ISBOZXR3b3JrIHN0YWNrIGlzIG5vdCBNUFNBRkUuICINCi0JCQkiVHVybmlu ZyBvZmYgZGVidWcuY2UubXBzYWZlbmV0LlxuIik7DQotCQljZV9tcHNhZmVu ZXQgPSAwOw0KLQl9DQotI2VuZGlmDQogI2lmIF9fRnJlZUJTRF92ZXJzaW9u ID49IDUwMjEwMw0KIAlpZiAoY2VfbXBzYWZlbmV0KQ0KIAkJY2VfY2RldnN3 LmRfZmxhZ3MgJj0gfkRfTkVFREdJQU5UOw0KSW5kZXg6IGRldi9jcC9pZl9j cC5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL3pvby9j dnN1cC9GcmVlQlNELUNWUy9zcmMvc3lzL2Rldi9jcC9pZl9jcC5jLHYNCnJl dHJpZXZpbmcgcmV2aXNpb24gMS4zMw0KZGlmZiAtdSAtcjEuMzMgaWZfY3Au Yw0KLS0tIGRldi9jcC9pZl9jcC5jCTIxIE1hciAyMDA3IDAzOjM4OjM1IC0w MDAwCTEuMzMNCisrKyBkZXYvY3AvaWZfY3AuYwkxNiBKdWwgMjAwNyAwNzo0 ODowNyAtMDAwMA0KQEAgLTIyNjUsMTEgKzIyNjUsNiBAQA0KIHsNCiAJc3Rh dGljIGludCBsb2FkX2NvdW50ID0gMDsNCiANCi0JaWYgKCFkZWJ1Z19tcHNh ZmVuZXQgJiYgY3BfbXBzYWZlbmV0KSB7DQotCQlwcmludGYgKCJXT1JOSU5H ISBOZXR3b3JrIHN0YWNrIGlzIG5vdCBNUFNBRkUuICINCi0JCQkiVHVybmlu ZyBvZmYgZGVidWcuY3AubXBzYWZlbmV0LlxuIik7DQotCQljcF9tcHNhZmVu ZXQgPSAwOw0KLQl9DQogCWlmIChjcF9tcHNhZmVuZXQpDQogCQljcF9jZGV2 c3cuZF9mbGFncyAmPSB+RF9ORUVER0lBTlQ7DQogDQpJbmRleDogZGV2L2N0 YXUvaWZfY3QuYw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6 IC96b28vY3ZzdXAvRnJlZUJTRC1DVlMvc3JjL3N5cy9kZXYvY3RhdS9pZl9j dC5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4zMw0KZGlmZiAtdSAtcjEu MzMgaWZfY3QuYw0KLS0tIGRldi9jdGF1L2lmX2N0LmMJMjEgTWFyIDIwMDcg MDM6Mzg6MzUgLTAwMDAJMS4zMw0KKysrIGRldi9jdGF1L2lmX2N0LmMJMTYg SnVsIDIwMDcgMDc6NDg6NTggLTAwMDANCkBAIC0yMjA2LDExICsyMjA2LDYg QEANCiB7DQogCXN0YXRpYyBpbnQgbG9hZF9jb3VudCA9IDA7DQogDQotCWlm ICghZGVidWdfbXBzYWZlbmV0ICYmIGN0X21wc2FmZW5ldCkgew0KLQkJcHJp bnRmICgiV09STklORyEgTmV0d29yayBzdGFjayBpcyBub3QgTVBTQUZFLiAi DQotCQkJIlR1cm5pbmcgb2ZmIGRlYnVnLmN0Lm1wc2FmZW5ldC5cbiIpOw0K LQkJY3RfbXBzYWZlbmV0ID0gMDsNCi0JfQ0KIAlpZiAoY3RfbXBzYWZlbmV0 KQ0KIAkJY3RfY2RldnN3LmRfZmxhZ3MgJj0gfkRfTkVFREdJQU5UOw0KIA0K SW5kZXg6IGRldi9jeC9pZl9jeC5jDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQpSQ1MgZmlsZTogL3pvby9jdnN1cC9GcmVlQlNELUNWUy9zcmMvc3lzL2Rl di9jeC9pZl9jeC5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS41Ng0KZGlm ZiAtdSAtcjEuNTYgaWZfY3guYw0KLS0tIGRldi9jeC9pZl9jeC5jCTIxIE1h ciAyMDA3IDAzOjM4OjM1IC0wMDAwCTEuNTYNCisrKyBkZXYvY3gvaWZfY3gu YwkxNiBKdWwgMjAwNyAwNzo0OTowOCAtMDAwMA0KQEAgLTI1MjMsMTEgKzI1 MjMsNiBAQA0KIHsNCiAJc3RhdGljIGludCBsb2FkX2NvdW50ID0gMDsNCiAN Ci0JaWYgKCFkZWJ1Z19tcHNhZmVuZXQgJiYgY3hfbXBzYWZlbmV0KSB7DQot CQlwcmludGYgKCJXT1JOSU5HISBOZXR3b3JrIHN0YWNrIGlzIG5vdCBNUFNB RkUuICINCi0JCQkiVHVybmluZyBvZmYgZGVidWcuY3gubXBzYWZlbmV0Llxu Iik7DQotCQljeF9tcHNhZmVuZXQgPSAwOw0KLQl9DQogCWlmIChjeF9tcHNh ZmVuZXQpDQogCQljeF9jZGV2c3cuZF9mbGFncyAmPSB+RF9ORUVER0lBTlQ7 DQogDQpJbmRleDoga2Vybi9zdWJyX2J1cy5jDQo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQpSQ1MgZmlsZTogL3pvby9jdnN1cC9GcmVlQlNELUNWUy9zcmMv c3lzL2tlcm4vc3Vicl9idXMuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEu MjAwDQpkaWZmIC11IC1yMS4yMDAgc3Vicl9idXMuYw0KLS0tIGtlcm4vc3Vi cl9idXMuYwkyMyBNYXkgMjAwNyAxNzoyODoyMSAtMDAwMAkxLjIwMA0KKysr IGtlcm4vc3Vicl9idXMuYwkxNiBKdWwgMjAwNyAwNzo0NjoyNSAtMDAwMA0K QEAgLTM0NjQsOSArMzQ2NCw2IEBADQogCWludCBlcnJvcjsNCiANCiAJaWYg KGRldi0+cGFyZW50ICE9IE5VTEwpIHsNCi0JCWlmICgoZmxhZ3MgJn4gSU5U Ul9FTlRST1BZKSA9PSAoSU5UUl9UWVBFX05FVCB8IElOVFJfTVBTQUZFKSAm Jg0KLQkJICAgICFkZWJ1Z19tcHNhZmVuZXQpDQotCQkJZmxhZ3MgJj0gfklO VFJfTVBTQUZFOw0KIAkJZXJyb3IgPSBCVVNfU0VUVVBfSU5UUihkZXYtPnBh cmVudCwgZGV2LCByLCBmbGFncywNCiAJCSAgICBmaWx0ZXIsIGhhbmRsZXIs IGFyZywgY29va2llcCk7DQogCQlpZiAoZXJyb3IgPT0gMCkgew0KSW5kZXg6 IGtlcm4vdWlwY19kb21haW4uYw0KPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K UkNTIGZpbGU6IC96b28vY3ZzdXAvRnJlZUJTRC1DVlMvc3JjL3N5cy9rZXJu L3VpcGNfZG9tYWluLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjQ5DQpk aWZmIC11IC1yMS40OSB1aXBjX2RvbWFpbi5jDQotLS0ga2Vybi91aXBjX2Rv bWFpbi5jCTE2IE1heSAyMDA3IDIwOjQxOjA3IC0wMDAwCTEuNDkNCisrKyBr ZXJuL3VpcGNfZG9tYWluLmMJMTYgSnVsIDIwMDcgMDc6NDU6NTYgLTAwMDAN CkBAIC0yMTEsMTMgKzIxMSw4IEBADQogCWlmIChtYXhfbGlua2hkciA8IDE2 KQkJLyogWFhYICovDQogCQltYXhfbGlua2hkciA9IDE2Ow0KIA0KLQlpZiAo ZGVidWdfbXBzYWZlbmV0KSB7DQotCQljYWxsb3V0X2luaXQoJnBmZmFzdF9j YWxsb3V0LCBDQUxMT1VUX01QU0FGRSk7DQotCQljYWxsb3V0X2luaXQoJnBm c2xvd19jYWxsb3V0LCBDQUxMT1VUX01QU0FGRSk7DQotCX0gZWxzZSB7DQot CQljYWxsb3V0X2luaXQoJnBmZmFzdF9jYWxsb3V0LCAwKTsNCi0JCWNhbGxv dXRfaW5pdCgmcGZzbG93X2NhbGxvdXQsIDApOw0KLQl9DQorCWNhbGxvdXRf aW5pdCgmcGZmYXN0X2NhbGxvdXQsIENBTExPVVRfTVBTQUZFKTsNCisJY2Fs bG91dF9pbml0KCZwZnNsb3dfY2FsbG91dCwgQ0FMTE9VVF9NUFNBRkUpOw0K IA0KIAltdHhfbG9jaygmZG9tX210eCk7DQogCUtBU1NFUlQoZG9tYWluX2lu aXRfc3RhdHVzID09IDAsICgiZG9tYWluaW5pdCBjYWxsZWQgdG9vIGxhdGUh IikpOw0KSW5kZXg6IG5ldC9pZi5jDQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 DQpSQ1MgZmlsZTogL3pvby9jdnN1cC9GcmVlQlNELUNWUy9zcmMvc3lzL25l dC9pZi5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNzINCmRpZmYgLXUg LXIxLjI3MiBpZi5jDQotLS0gbmV0L2lmLmMJMTYgTWF5IDIwMDcgMTk6NTk6 MDEgLTAwMDAJMS4yNzINCisrKyBuZXQvaWYuYwkxNiBKdWwgMjAwNyAwNzo0 MzozMiAtMDAwMA0KQEAgLTI2OTQsOSArMjY5NCw3IEBADQogaWZfc3RhcnQo c3RydWN0IGlmbmV0ICppZnApDQogew0KIA0KLQlORVRfQVNTRVJUX0dJQU5U KCk7DQotDQotCWlmICgoaWZwLT5pZl9mbGFncyAmIElGRl9ORUVEU0dJQU5U KSAhPSAwICYmIGRlYnVnX21wc2FmZW5ldCAhPSAwKSB7DQorCWlmIChpZnAt PmlmX2ZsYWdzICYgSUZGX05FRURTR0lBTlQpIHsNCiAJCWlmIChtdHhfb3du ZWQoJkdpYW50KSkNCiAJCQkoKihpZnApLT5pZl9zdGFydCkoaWZwKTsNCiAJ CWVsc2UNCkBAIC0yNzExLDExICsyNzA5LDYgQEANCiB7DQogCXN0cnVjdCBp Zm5ldCAqaWZwOw0KIA0KLQkvKg0KLQkgKiBUaGlzIGNvZGUgbXVzdCBiZSBl bnRlcmVkIHdpdGggR2lhbnQsIGFuZCBzaG91bGQgbmV2ZXIgcnVuIGlmDQot CSAqIHdlJ3JlIG5vdCBydW5uaW5nIHdpdGggZGVidWcubXBzYWZlbmV0Lg0K LQkgKi8NCi0JS0FTU0VSVChkZWJ1Z19tcHNhZmVuZXQgIT0gMCwgKCJpZl9z dGFydF9kZWZlcnJlZDogZGVidWcubXBzYWZlbmV0IikpOw0KIAlHSUFOVF9S RVFVSVJFRDsNCiANCiAJaWZwID0gY29udGV4dDsNCkluZGV4OiBuZXQvaWZf ZXRoZXJzdWJyLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxl OiAvem9vL2N2c3VwL0ZyZWVCU0QtQ1ZTL3NyYy9zeXMvbmV0L2lmX2V0aGVy c3Vici5jLHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4yMzQNCmRpZmYgLXUg LXIxLjIzNCBpZl9ldGhlcnN1YnIuYw0KLS0tIG5ldC9pZl9ldGhlcnN1YnIu YwkzIEp1bCAyMDA3IDEyOjQ2OjA2IC0wMDAwCTEuMjM0DQorKysgbmV0L2lm X2V0aGVyc3Vici5jCTE2IEp1bCAyMDA3IDA3OjQ1OjQzIC0wMDAwDQpAQCAt OTIyLDcgKzkyMiw3IEBADQogCQkJYnJlYWs7IA0KIAlpZiAoaSAhPSBpZnAt PmlmX2FkZHJsZW4pDQogCQlpZl9wcmludGYoaWZwLCAiRXRoZXJuZXQgYWRk cmVzczogJTZEXG4iLCBsbGEsICI6Iik7DQotCWlmIChkZWJ1Z19tcHNhZmVu ZXQgJiYgKGlmcC0+aWZfZmxhZ3MgJiBJRkZfTkVFRFNHSUFOVCkgIT0gMCkN CisJaWYgKGlmcC0+aWZfZmxhZ3MgJiBJRkZfTkVFRFNHSUFOVCkNCiAJCWlm X3ByaW50ZihpZnAsICJpZl9zdGFydCBydW5uaW5nIGRlZmVycmVkIGZvciBH aWFudFxuIik7DQogfQ0KIA0KSW5kZXg6IG5ldC9uZXRpc3IuYw0KPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC96b28vY3ZzdXAvRnJlZUJT RC1DVlMvc3JjL3N5cy9uZXQvbmV0aXNyLmMsdg0KcmV0cmlldmluZyByZXZp c2lvbiAxLjE4DQpkaWZmIC11IC1yMS4xOCBuZXRpc3IuYw0KLS0tIG5ldC9u ZXRpc3IuYwkyOCBOb3YgMjAwNiAxMToxOTozNiAtMDAwMAkxLjE4DQorKysg bmV0L25ldGlzci5jCTE2IEp1bCAyMDA3IDA3OjQwOjU3IC0wMDAwDQpAQCAt NTYsMjQgKzU2LDYgQEANCiAjaW5jbHVkZSA8bmV0L2lmX3Zhci5oPg0KICNp bmNsdWRlIDxuZXQvbmV0aXNyLmg+DQogDQotLyogDQotICogZGVidWdfbXBz YWZlbmV0IGNvbnRyb2xzIG5ldHdvcmsgc3Vic3lzdGVtLXdpZGUgdXNlIG9m IHRoZSBHaWFudCBsb2NrLA0KLSAqIGZyb20gc3lzdGVtIGNhbGxzIGRvd24g dG8gaW50ZXJydXB0IGhhbmRsZXJzLiAgSXQgY2FuIGJlIGNoYW5nZWQgb25s eSB2aWENCi0gKiBhIHR1bmFibGUgYXQgYm9vdCwgbm90IGF0IHJ1bi10aW1l LCBkdWUgdG8gdGhlIGNvbXBsZXhpdHkgb2YgdW53aW5kaW5nLg0KLSAqIFRo ZSBjb21waWxlZCBkZWZhdWx0IGlzIHNldCB2aWEgYSBrZXJuZWwgb3B0aW9u OyByaWdodCBub3csIHRoZSBkZWZhdWx0DQotICogdW5sZXNzIG90aGVyd2lz ZSBzcGVjaWZpZWQgaXMgdG8gcnVuIHRoZSBuZXR3b3JrIHN0YWNrIHdpdGhv dXQgR2lhbnQuDQotICovDQotI2lmZGVmIE5FVF9XSVRIX0dJQU5UDQotaW50 CWRlYnVnX21wc2FmZW5ldCA9IDA7DQotI2Vsc2UNCi1pbnQJZGVidWdfbXBz YWZlbmV0ID0gMTsNCi0jZW5kaWYNCi1pbnQJZGVidWdfbXBzYWZlbmV0X3Rv b2xhdGV0b3R3aWRkbGUgPSAwOw0KLQ0KLVRVTkFCTEVfSU5UKCJkZWJ1Zy5t cHNhZmVuZXQiLCAmZGVidWdfbXBzYWZlbmV0KTsNCi1TWVNDVExfSU5UKF9k ZWJ1ZywgT0lEX0FVVE8sIG1wc2FmZW5ldCwgQ1RMRkxBR19SRCwgJmRlYnVn X21wc2FmZW5ldCwgMCwNCi0gICAgIkVuYWJsZS9kaXNhYmxlIE1QU0FGRSBu ZXR3b3JrIHN1cHBvcnQiKTsNCi0NCiB2b2xhdGlsZSB1bnNpZ25lZCBpbnQJ bmV0aXNyOwkvKiBzY2hlZHVsaW5nIGJpdHMgZm9yIG5ldHdvcmsgKi8NCiAN CiBzdHJ1Y3QgbmV0aXNyIHsNCkBAIC04NCw3OCArNjYsNiBAQA0KIA0KIHN0 YXRpYyB2b2lkICpuZXRfaWg7DQogDQotLyoNCi0gKiBOb3QgYWxsIG5ldHdv cmsgY29kZSBpcyBjdXJyZW50bHkgY2FwYWJsZSBvZiBydW5uaW5nIE1QU0FG RTsgaG93ZXZlciwNCi0gKiBtb3N0IG9mIGl0IGlzLiAgU2luY2UgdGhvc2Ug c2VjdGlvbnMgdGhhdCBhcmUgbm90IGFyZSBnZW5lcmFsbHkgb3B0aW9uYWwN Ci0gKiBjb21wb25lbnRzIG5vdCBzaGlwcGVkIHdpdGggZGVmYXVsdCBrZXJu ZWxzLCB3ZSBwcm92aWRlIGEgYmFzaWMgd2F5IHRvDQotICogZGV0ZXJtaW5l IHdoZXRoZXIgTVBTQUZFIG9wZXJhdGlvbiBpcyBwZXJtaXR0ZWQ6IGJhc2Vk IG9uIGEgZGVmYXVsdCBvZg0KLSAqIHllcywgd2UgcGVybWl0IG5vbi1NUFNB RkUgY29tcG9uZW50cyB0byB1c2UgYSByZWdpc3RyYXRpb24gY2FsbCB0bw0K LSAqIGlkZW50aWZ5IHRoYXQgdGhleSByZXF1aXJlIEdpYW50LiAgSWYgdGhl IHN5c3RlbSBpcyBlYXJseSBpbiB0aGUgYm9vdA0KLSAqIHByb2Nlc3Mgc3Rp bGwsIHRoZW4gd2UgY2hhbmdlIHRoZSBkZWJ1Z19tcHNhZmVuZXQgc2V0dGlu ZyB0byBjaG9vc2UgYQ0KLSAqIG5vbi1NUFNBRkUgZXhlY3V0aW9uIG1vZGUg KGRlZ3JhZGVkKS4gIElmIGl0J3MgdG9vIGxhdGUgZm9yIHRoYXQgKHNpbmNl DQotICogdGhlIHNldHRpbmcgY2Fubm90IGJlIGNoYW5nZWQgYXQgcnVuIHRp bWUpLCB3ZSBnZW5lcmF0ZSBhIGNvbnNvbGUgd2FybmluZw0KLSAqIHRoYXQg dGhlIGNvbmZpZ3VyYXRpb24gbWF5IGJlIHVuc2FmZS4NCi0gKi8NCi1zdGF0 aWMgaW50IG1wc2FmZV93YXJuX2NvdW50Ow0KLQ0KLS8qDQotICogRnVuY3Rp b24gY2FsbCBpbXBsZW1lbnRpbmcgcmVnaXN0cmF0aW9uIG9mIGEgbm9uLU1Q U0FGRSBuZXR3b3JrIGNvbXBvbmVudC4NCi0gKi8NCi12b2lkDQotbmV0X3dh cm5fbm90X21wc2FmZShjb25zdCBjaGFyICpjb21wb25lbnQpDQotew0KLQ0K LQkvKg0KLQkgKiBJZiB3ZSdyZSBydW5uaW5nIHdpdGggR2lhbnQgb3ZlciB0 aGUgbmV0d29yayBzdGFjaywgdGhlcmUgaXMgbm8NCi0JICogcHJvYmxlbS4N Ci0JICovDQotCWlmICghZGVidWdfbXBzYWZlbmV0KQ0KLQkJcmV0dXJuOw0K LQ0KLQkvKg0KLQkgKiBJZiBpdCdzIG5vdCB0b28gbGF0ZSB0byBjaGFuZ2Ug dGhlIE1QU0FGRSBzZXR0aW5nIGZvciB0aGUgbmV0d29yaw0KLQkgKiBzdGFj aywgZG8gc28gbm93LiAgVGhpcyBlZmZlY3RpdmVseSBzdXBwcmVzc2VzIHdh cm5pbmdzIGJ5DQotCSAqIGNvbXBvbmVudHMgcmVnaXN0ZXJpbmcgbGF0ZXIu DQotCSAqLw0KLQlpZiAoIWRlYnVnX21wc2FmZW5ldF90b29sYXRldG90d2lk ZGxlKSB7DQotCQlkZWJ1Z19tcHNhZmVuZXQgPSAwOw0KLQkJcHJpbnRmKCJX QVJOSU5HOiBkZWJ1Zy5tcHNhZmVuZXQgZm9yY2VkIHRvIDAgYXMgJXMgcmVx dWlyZXMgIg0KLQkJICAgICJHaWFudFxuIiwgY29tcG9uZW50KTsNCi0JCXJl dHVybjsNCi0JfQ0KLQ0KLQkvKg0KLQkgKiBXZSBtdXN0IHJ1biB3aXRob3V0 IEdpYW50LCBzbyBnZW5lcmF0ZSBhIGNvbnNvbGUgd2FybmluZyB3aXRoIHNv bWUNCi0JICogaW5mb3JtYXRpb24gd2l0aCB3aGF0IHRvIGRvIGFib3V0IGl0 LiAgVGhlIHN5c3RlbSBtYXkgYmUgb3BlcmF0aW5nDQotCSAqIHVuc2FmZWx5 LCBob3dldmVyLg0KLQkgKi8NCi0JcHJpbnRmKCJXQVJOSU5HOiBOZXR3b3Jr IHN0YWNrIEdpYW50LWZyZWUsIGJ1dCAlcyByZXF1aXJlcyBHaWFudC5cbiIs DQotCSAgICBjb21wb25lbnQpOw0KLQlpZiAobXBzYWZlX3dhcm5fY291bnQg PT0gMCkNCi0JCXByaW50ZigiICAgIENvbnNpZGVyIGFkZGluZyAnb3B0aW9u cyBORVRfV0lUSF9HSUFOVCcgb3IgIg0KLQkJICAgICJzZXR0aW5nIGRlYnVn Lm1wc2FmZW5ldD0wXG4iKTsNCi0JbXBzYWZlX3dhcm5fY291bnQrKzsNCi19 DQotDQotLyoNCi0gKiBUaGlzIHN5c2luaXQgaXMgcnVuIGFmdGVyIGFueSBw cmUtbG9hZGVkIG9yIGNvbXBpbGVkLWluIGNvbXBvbmVudHMgaGF2ZQ0KLSAq IGFubm91bmNlZCB0aGF0IHRoZXkgcmVxdWlyZSBHaWFudCwgYnV0IGJlZm9y ZSBhbnkgbW9kdWxlcyBsb2FkZWQgYXQNCi0gKiBydW4tdGltZS4NCi0gKi8N Ci1zdGF0aWMgdm9pZA0KLW5ldF9tcHNhZmVfdG9vbGF0ZSh2b2lkICphcmcp DQotew0KLQ0KLQlkZWJ1Z19tcHNhZmVuZXRfdG9vbGF0ZXRvdHdpZGRsZSA9 IDE7DQotDQotCWlmICghZGVidWdfbXBzYWZlbmV0KQ0KLQkJcHJpbnRmKCJX QVJOSU5HOiBNUFNBRkUgbmV0d29yayBzdGFjayBkaXNhYmxlZCwgZXhwZWN0 ICINCi0JCSAgICAicmVkdWNlZCBwZXJmb3JtYW5jZS5cbiIpOw0KLX0NCi0N Ci1TWVNJTklUKG5ldF9tcHNhZmVfdG9vbGF0ZSwgU0lfU1VCX1NFVFRJTkdT LCBTSV9PUkRFUl9BTlksIG5ldF9tcHNhZmVfdG9vbGF0ZSwNCi0gICAgTlVM TCk7DQotDQogdm9pZA0KIGxlZ2FjeV9zZXRzb2Z0bmV0KHZvaWQpDQogew0K QEAgLTE3MCw4ICs4MCw2IEBADQogCSAgICAoImJhZCBpc3IgJWQiLCBudW0p KTsNCiAJbmV0aXNyc1tudW1dLm5pX2hhbmRsZXIgPSBoYW5kbGVyOw0KIAlu ZXRpc3JzW251bV0ubmlfcXVldWUgPSBpbnE7DQotCWlmICgoZmxhZ3MgJiBO RVRJU1JfTVBTQUZFKSAmJiAhZGVidWdfbXBzYWZlbmV0KQ0KLQkJZmxhZ3Mg Jj0gfk5FVElTUl9NUFNBRkU7DQogCW5ldGlzcnNbbnVtXS5uaV9mbGFncyA9 IGZsYWdzOw0KIH0NCiANCkluZGV4OiBuZnNzZXJ2ZXIvbmZzX3NydnN1YnMu Yw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC96b28vY3Zz dXAvRnJlZUJTRC1DVlMvc3JjL3N5cy9uZnNzZXJ2ZXIvbmZzX3NydnN1YnMu Yyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTQ3DQpkaWZmIC11IC1yMS4x NDcgbmZzX3NydnN1YnMuYw0KLS0tIG5mc3NlcnZlci9uZnNfc3J2c3Vicy5j CTIgQXByIDIwMDcgMTM6NTM6MjYgLTAwMDAJMS4xNDcNCisrKyBuZnNzZXJ2 ZXIvbmZzX3NydnN1YnMuYwkxNiBKdWwgMjAwNyAwNzo0NToyMCAtMDAwMA0K QEAgLTU0OSwxMCArNTQ5LDcgQEANCiAJCW5mc3J2X2luaXRjYWNoZSgpOwkv KiBJbml0IHRoZSBzZXJ2ZXIgcmVxdWVzdCBjYWNoZSAqLw0KIAkJTkZTRF9M T0NLKCk7DQogCQluZnNydl9pbml0KDApOwkJLyogSW5pdCBzZXJ2ZXIgZGF0 YSBzdHJ1Y3R1cmVzICovDQotCQlpZiAoZGVidWdfbXBzYWZlbmV0KQ0KLQkJ CWNhbGxvdXRfaW5pdCgmbmZzcnZfY2FsbG91dCwgQ0FMTE9VVF9NUFNBRkUp Ow0KLQkJZWxzZQ0KLQkJCWNhbGxvdXRfaW5pdCgmbmZzcnZfY2FsbG91dCwg MCk7DQorCQljYWxsb3V0X2luaXQoJm5mc3J2X2NhbGxvdXQsIENBTExPVVRf TVBTQUZFKTsNCiAJCU5GU0RfVU5MT0NLKCk7DQogCQluZnNydl90aW1lcigw KTsNCiANCkluZGV4OiBuZnNzZXJ2ZXIvbmZzX3N5c2NhbGxzLmMNCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAvem9vL2N2c3VwL0ZyZWVC U0QtQ1ZTL3NyYy9zeXMvbmZzc2VydmVyL25mc19zeXNjYWxscy5jLHYNCnJl dHJpZXZpbmcgcmV2aXNpb24gMS4xMTQNCmRpZmYgLXUgLXIxLjExNCBuZnNf c3lzY2FsbHMuYw0KLS0tIG5mc3NlcnZlci9uZnNfc3lzY2FsbHMuYwkyMiBB cHIgMjAwNyAxNTozMToyMSAtMDAwMAkxLjExNA0KKysrIG5mc3NlcnZlci9u ZnNfc3lzY2FsbHMuYwkxNiBKdWwgMjAwNyAwNzo0NTowMyAtMDAwMA0KQEAg LTU2MSwxNiArNTYxLDExIEBADQogCQkJbmZzZC0+bmZzZF9zbHAgPSBOVUxM Ow0KIAkJCW5mc3J2X3NscGRlcmVmKHNscCk7DQogCQl9DQotCQlLQVNTRVJU KCEoZGVidWdfbXBzYWZlbmV0ID09IDAgJiYgIW10eF9vd25lZCgmR2lhbnQp KSwNCi0JCSAgICAoIm5mc3N2Y19uZnNkKCk6IGRlYnVnLm1wc2FmZW5ldD0w ICYmICFHaWFudCIpKTsNCi0JCUtBU1NFUlQoIShkZWJ1Z19tcHNhZmVuZXQg PT0gMSAmJiBtdHhfb3duZWQoJkdpYW50KSksDQotCQkgICAgKCJuZnNzdmNf bmZzZCgpOiBkZWJ1Zy5tcHNhZmVuZXQ9MSAmJiBHaWFudCIpKTsNCisJCUtB U1NFUlQoIW10eF9vd25lZCgmR2lhbnQpLA0KKwkJICAgICgibmZzc3ZjX25m c2Q6IEdpYW50IHdoZW4gbG9vcCBlbmRzIikpOw0KIAl9DQogZG9uZToNCi0J S0FTU0VSVCghKGRlYnVnX21wc2FmZW5ldCA9PSAwICYmICFtdHhfb3duZWQo JkdpYW50KSksDQotCSAgICAoIm5mc3N2Y19uZnNkKCk6IGRlYnVnLm1wc2Fm ZW5ldD0wICYmICFHaWFudCIpKTsNCi0JS0FTU0VSVCghKGRlYnVnX21wc2Fm ZW5ldCA9PSAxICYmIG10eF9vd25lZCgmR2lhbnQpKSwNCi0JICAgICgibmZz c3ZjX25mc2QoKTogZGVidWcubXBzYWZlbmV0PTEgJiYgR2lhbnQiKSk7DQor CUtBU1NFUlQoIW10eF9vd25lZCgmR2lhbnQpLCAoIm5mc3N2Y19uZnNkOiBH aWFudCB3aGVuIGRvbmUiKSk7DQogCVRBSUxRX1JFTU9WRSgmbmZzZF9oZWFk LCBuZnNkLCBuZnNkX2NoYWluKTsNCiAJc3BseChzKTsNCiAJZnJlZSgoY2Fk ZHJfdCluZnNkLCBNX05GU0QpOw0KSW5kZXg6IHN5cy9rZXJuZWwuaA0KPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQ0KUkNTIGZpbGU6IC96b28vY3ZzdXAvRnJl ZUJTRC1DVlMvc3JjL3N5cy9zeXMva2VybmVsLmgsdg0KcmV0cmlldmluZyBy ZXZpc2lvbiAxLjEzNQ0KZGlmZiAtdSAtcjEuMTM1IGtlcm5lbC5oDQotLS0g c3lzL2tlcm5lbC5oCTkgQXByIDIwMDcgMjI6Mjk6MTMgLTAwMDAJMS4xMzUN CisrKyBzeXMva2VybmVsLmgJMjIgSnVsIDIwMDcgMTc6MzU6MjAgLTAwMDAN CkBAIC0zNDMsMTEgKzM0Myw2IEBADQogI2RlZmluZQlUVU5BQkxFX1NUUl9G RVRDSChwYXRoLCB2YXIsIHNpemUpCQkJXA0KIAlnZXRlbnZfc3RyaW5nKChw YXRoKSwgKHZhciksIChzaXplKSkNCiANCi12b2lkCW5ldF93YXJuX25vdF9t cHNhZmUoY29uc3QgY2hhciAqY29tcG9uZW50KTsNCi0jZGVmaW5lCU5FVF9O RUVEU19HSUFOVChjb21wb25lbnQpCQkJCQlcDQotCVNZU0lOSVQoX19DT05D QVQoX19uZXRfd2Fybl9ub3RfbXBzYWZlXywgX19MSU5FX18pLAkJXA0KLQkg ICAgU0lfU1VCX1NFVFRJTkdTLCBTSV9PUkRFUl9TRUNPTkQsIG5ldF93YXJu X25vdF9tcHNhZmUsIGNvbXBvbmVudCk7DQotDQogc3RydWN0IGludHJfY29u ZmlnX2hvb2sgew0KIAlUQUlMUV9FTlRSWShpbnRyX2NvbmZpZ19ob29rKSBp Y2hfbGlua3M7DQogCXZvaWQJKCppY2hfZnVuYykodm9pZCAqYXJnKTsNCklu ZGV4OiBzeXMvbXV0ZXguaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KUkNT IGZpbGU6IC96b28vY3ZzdXAvRnJlZUJTRC1DVlMvc3JjL3N5cy9zeXMvbXV0 ZXguaCx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOTgNCmRpZmYgLXUgLXIx Ljk4IG11dGV4LmgNCi0tLSBzeXMvbXV0ZXguaAkxOCBKdWwgMjAwNyAyMDo0 NjowNiAtMDAwMAkxLjk4DQorKysgc3lzL211dGV4LmgJMjAgSnVsIDIwMDcg MTE6MTE6MDQgLTAwMDANCkBAIC0zOTcsMzUgKzM5NywxOCBAQA0KIH0gd2hp bGUgKDApDQogDQogLyoNCi0gKiBOZXR3b3JrIE1QU0FGRSB0ZW1wb3Jhcnkg d29ya2Fyb3VuZHMuICBXaGVuIGRlYnVnX21wc2FmZW5ldA0KLSAqIGlzIDEg dGhlIG5ldHdvcmsgaXMgYXNzdW1lZCB0byBvcGVyYXRlIHdpdGhvdXQgR2lh bnQgb24gdGhlDQotICogaW5wdXQgcGF0aCBhbmQgcHJvdG9jb2xzIHRoYXQg cmVxdWlyZSBHaWFudCBtdXN0IGNvbGxlY3QgaXQNCi0gKiBvbiBlbnRyeS4g IFdoZW4gMCBHaWFudCBpcyBncmFiYmVkIGluIHRoZSBuZXR3b3JrIGludGVy ZmFjZQ0KLSAqIElTUidzIGFuZCBpbiB0aGUgbmV0aXNyIHBhdGggYW5kIHRo ZXJlIGlzIG5vIG5lZWQgdG8gZ3JhYg0KLSAqIHRoZSBHaWFudCBsb2NrLiAg Tm90ZSB0aGF0LCB1bmxpa2UgUElDS1VQX0dJQU5UKCkgYW5kDQotICogRFJP UF9HSUFOVCgpLCB0aGVzZSBtYWNyb3MgZGlyZWN0bHkgd3JhcCBtdXRleCBv cGVyYXRpb25zDQotICogd2l0aG91dCBzcGVjaWFsIHJlY3Vyc2lvbiBoYW5k bGluZy4NCi0gKg0KLSAqIFRoaXMgbWVjaGFuaXNtIGlzIGludGVuZGVkIGFz IHRlbXBvcmFyeSB1bnRpbCBldmVyeXRoaW5nIG9mDQotICogaW1wb3J0YW5j ZSBpcyBwcm9wZXJseSBsb2NrZWQuICBOb3RlOiB0aGUgc2VtYW50aWNzIGZv cg0KLSAqIE5FVF97TE9DSyxVTkxPQ0t9X0dJQU5UKCkgYXJlIG5vdCB0aGUg c2FtZSBhcyBEUk9QX0dJQU5UKCkNCi0gKiBhbmQgUElDS1VQX0dJQU5UKCks IGFzIHRoZXkgYXJlIHBsYWluIG11dGV4IG9wZXJhdGlvbnMNCi0gKiB3aXRo b3V0IGEgcmVjdXJzaW9uIGNvdW50ZXIuDQorICogV2l0aCB0aGUgYWR2ZW50 IG9mIGZpbmUtZ3JhaW5lZCBsb2NraW5nLCB0aGUgR2lhbnQgbG9jayBpcyBu byBsb25nZXINCisgKiByZXF1aXJlZCBhcm91bmQgdGhlIG5ldHdvcmsgc3Rh Y2suICBUaGVzZSBtYWNyb3MgZXhpc3QgZm9yIGhpc3RvcmljYWwNCisgKiBy ZWFzb25zLCBhbGxvd2luZyBjb25kaXRpb25hbCBhY3F1aXNpdGlvbiBvZiBH aWFudCBiYXNlZCBvbiBhIGRlYnVnZ2luZw0KKyAqIHNldHRpbmcsIGFuZCB3 aWxsIGJlIHJlbW92ZWQuDQogICovDQotZXh0ZXJuCWludCBkZWJ1Z19tcHNh ZmVuZXQ7CQkvKiBkZWZpbmVkIGluIG5ldC9uZXRpc3IuYyAqLw0KICNkZWZp bmUJTkVUX0xPQ0tfR0lBTlQoKSBkbyB7CQkJCQkJXA0KLQlpZiAoIWRlYnVn X21wc2FmZW5ldCkJCQkJCQlcDQotCQltdHhfbG9jaygmR2lhbnQpOwkJCQkJ XA0KIH0gd2hpbGUgKDApDQogI2RlZmluZQlORVRfVU5MT0NLX0dJQU5UKCkg ZG8gewkJCQkJCVwNCi0JaWYgKCFkZWJ1Z19tcHNhZmVuZXQpCQkJCQkJXA0K LQkJbXR4X3VubG9jaygmR2lhbnQpOwkJCQkJXA0KIH0gd2hpbGUgKDApDQog I2RlZmluZQlORVRfQVNTRVJUX0dJQU5UKCkgZG8gewkJCQkJCVwNCi0JaWYg KCFkZWJ1Z19tcHNhZmVuZXQpCQkJCQkJXA0KLQkJbXR4X2Fzc2VydCgmR2lh bnQsIE1BX09XTkVEKTsJCQkJXA0KIH0gd2hpbGUgKDApDQotI2RlZmluZQlO RVRfQ0FMTE9VVF9NUFNBRkUJKGRlYnVnX21wc2FmZW5ldCA/IENBTExPVVRf TVBTQUZFIDogMCkNCisjZGVmaW5lCU5FVF9DQUxMT1VUX01QU0FGRQlDQUxM T1VUX01QU0FGRQ0KIA0KIHN0cnVjdCBtdHhfYXJncyB7DQogCXN0cnVjdCBt dHgJKm1hX210eDsNCg== --0-894572789-1185272265=:83919-- From owner-freebsd-arch@FreeBSD.ORG Tue Jul 24 16:36:14 2007 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71BA516A419; Tue, 24 Jul 2007 16:36:14 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id D133013C46C; Tue, 24 Jul 2007 16:36:13 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.7b8) with ESMTP id 198688593 for multiple; Tue, 24 Jul 2007 12:44:52 -0400 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l6OGa6iN010357; Tue, 24 Jul 2007 12:36:06 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-arch@freebsd.org Date: Tue, 24 Jul 2007 11:07:41 -0400 User-Agent: KMail/1.9.6 References: <20070724110908.T83919@fledge.watson.org> In-Reply-To: <20070724110908.T83919@fledge.watson.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707241107.43047.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 24 Jul 2007 12:36:06 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/3754/Tue Jul 24 09:41:21 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: current@freebsd.og, gnn@freebsd.org, bz@freebsd.org, Robert Watson , arch@freebsd.org Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 16:36:14 -0000 On Tuesday 24 July 2007 06:17:45 am Robert Watson wrote: > Patch attached, and also available at this URL: Possibly use mtx_assert() rather than KASSERT(mtx_owned()) in nfs_syscalls.c? -- John Baldwin From owner-freebsd-arch@FreeBSD.ORG Tue Jul 24 17:13:56 2007 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A1C1716A46B; Tue, 24 Jul 2007 17:13:56 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id 3C1EF13C47E; Tue, 24 Jul 2007 17:13:55 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.7b8) with ESMTP id 198688593 for multiple; Tue, 24 Jul 2007 12:44:52 -0400 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l6OGa6iN010357; Tue, 24 Jul 2007 12:36:06 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: freebsd-arch@freebsd.org Date: Tue, 24 Jul 2007 11:07:41 -0400 User-Agent: KMail/1.9.6 References: <20070724110908.T83919@fledge.watson.org> In-Reply-To: <20070724110908.T83919@fledge.watson.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707241107.43047.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 24 Jul 2007 12:36:06 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/3754/Tue Jul 24 09:41:21 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: current@freebsd.og, gnn@freebsd.org, bz@freebsd.org, Robert Watson , arch@freebsd.org Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 17:13:56 -0000 On Tuesday 24 July 2007 06:17:45 am Robert Watson wrote: > Patch attached, and also available at this URL: Possibly use mtx_assert() rather than KASSERT(mtx_owned()) in nfs_syscalls.c? -- John Baldwin From owner-freebsd-arch@FreeBSD.ORG Tue Jul 24 18:21:10 2007 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 838A216A418; Tue, 24 Jul 2007 18:21:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id 4D24513C469; Tue, 24 Jul 2007 18:21:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id C42E748FC2; Tue, 24 Jul 2007 14:21:09 -0400 (EDT) Date: Tue, 24 Jul 2007 19:21:09 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: John Baldwin In-Reply-To: <200707241107.43047.jhb@freebsd.org> Message-ID: <20070724192023.N15979@fledge.watson.org> References: <20070724110908.T83919@fledge.watson.org> <200707241107.43047.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: arch@freebsd.org, gnn@freebsd.org, bz@freebsd.org, current@freebsd.og, freebsd-arch@freebsd.org Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 18:21:10 -0000 On Tue, 24 Jul 2007, John Baldwin wrote: > On Tuesday 24 July 2007 06:17:45 am Robert Watson wrote: >> Patch attached, and also available at this URL: > > Possibly use mtx_assert() rather than KASSERT(mtx_owned()) in > nfs_syscalls.c? Sounds good, I will make that change. I picked that new structure because it most closely matched what was there, and what was there required a KASSERT because it combined a variable check with a lock check, but the new code doesn't require that. Thanks, Robert N M Watson Computer Laboratory University of Cambridge From owner-freebsd-arch@FreeBSD.ORG Tue Jul 24 18:21:10 2007 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 838A216A418; Tue, 24 Jul 2007 18:21:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id 4D24513C469; Tue, 24 Jul 2007 18:21:10 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id C42E748FC2; Tue, 24 Jul 2007 14:21:09 -0400 (EDT) Date: Tue, 24 Jul 2007 19:21:09 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: John Baldwin In-Reply-To: <200707241107.43047.jhb@freebsd.org> Message-ID: <20070724192023.N15979@fledge.watson.org> References: <20070724110908.T83919@fledge.watson.org> <200707241107.43047.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: arch@freebsd.org, gnn@freebsd.org, bz@freebsd.org, current@freebsd.og, freebsd-arch@freebsd.org Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 18:21:10 -0000 On Tue, 24 Jul 2007, John Baldwin wrote: > On Tuesday 24 July 2007 06:17:45 am Robert Watson wrote: >> Patch attached, and also available at this URL: > > Possibly use mtx_assert() rather than KASSERT(mtx_owned()) in > nfs_syscalls.c? Sounds good, I will make that change. I picked that new structure because it most closely matched what was there, and what was there required a KASSERT because it combined a variable check with a lock check, but the new code doesn't require that. Thanks, Robert N M Watson Computer Laboratory University of Cambridge From owner-freebsd-arch@FreeBSD.ORG Tue Jul 24 19:36:18 2007 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4888A16A419; Tue, 24 Jul 2007 19:36:18 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id ADEAD13C457; Tue, 24 Jul 2007 19:36:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.7b8) with ESMTP id 198727041 for multiple; Tue, 24 Jul 2007 15:44:54 -0400 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l6OJa7bL011539; Tue, 24 Jul 2007 15:36:07 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Robert Watson Date: Tue, 24 Jul 2007 15:35:58 -0400 User-Agent: KMail/1.9.6 References: <20070724110908.T83919@fledge.watson.org> <200707241107.43047.jhb@freebsd.org> <20070724192023.N15979@fledge.watson.org> In-Reply-To: <20070724192023.N15979@fledge.watson.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707241535.59867.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 24 Jul 2007 15:36:08 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/3754/Tue Jul 24 09:41:21 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: arch@freebsd.org, gnn@freebsd.org, bz@freebsd.org, current@freebsd.og, freebsd-arch@freebsd.org Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 19:36:18 -0000 On Tuesday 24 July 2007 02:21:09 pm Robert Watson wrote: > > On Tue, 24 Jul 2007, John Baldwin wrote: > > > On Tuesday 24 July 2007 06:17:45 am Robert Watson wrote: > >> Patch attached, and also available at this URL: > > > > Possibly use mtx_assert() rather than KASSERT(mtx_owned()) in > > nfs_syscalls.c? > > Sounds good, I will make that change. I picked that new structure because it > most closely matched what was there, and what was there required a KASSERT > because it combined a variable check with a lock check, but the new code > doesn't require that. *nod* I'd figured as much. I'd of almost prefer that the previous code had been: if (!debug_mpsafenet) mtx_assert(...) FWIW. -- John Baldwin From owner-freebsd-arch@FreeBSD.ORG Tue Jul 24 19:36:18 2007 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 4888A16A419; Tue, 24 Jul 2007 19:36:18 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from speedfactory.net (mail6.speedfactory.net [66.23.216.219]) by mx1.freebsd.org (Postfix) with ESMTP id ADEAD13C457; Tue, 24 Jul 2007 19:36:17 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (unverified [66.23.211.162]) by speedfactory.net (SurgeMail 3.7b8) with ESMTP id 198727041 for multiple; Tue, 24 Jul 2007 15:44:54 -0400 Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.8/8.13.8) with ESMTP id l6OJa7bL011539; Tue, 24 Jul 2007 15:36:07 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Robert Watson Date: Tue, 24 Jul 2007 15:35:58 -0400 User-Agent: KMail/1.9.6 References: <20070724110908.T83919@fledge.watson.org> <200707241107.43047.jhb@freebsd.org> <20070724192023.N15979@fledge.watson.org> In-Reply-To: <20070724192023.N15979@fledge.watson.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707241535.59867.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 24 Jul 2007 15:36:08 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/3754/Tue Jul 24 09:41:21 2007 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx X-Server: High Performance Mail Server - http://surgemail.com r=1653887525 Cc: arch@freebsd.org, gnn@freebsd.org, bz@freebsd.org, current@freebsd.og, freebsd-arch@freebsd.org Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jul 2007 19:36:18 -0000 On Tuesday 24 July 2007 02:21:09 pm Robert Watson wrote: > > On Tue, 24 Jul 2007, John Baldwin wrote: > > > On Tuesday 24 July 2007 06:17:45 am Robert Watson wrote: > >> Patch attached, and also available at this URL: > > > > Possibly use mtx_assert() rather than KASSERT(mtx_owned()) in > > nfs_syscalls.c? > > Sounds good, I will make that change. I picked that new structure because it > most closely matched what was there, and what was there required a KASSERT > because it combined a variable check with a lock check, but the new code > doesn't require that. *nod* I'd figured as much. I'd of almost prefer that the previous code had been: if (!debug_mpsafenet) mtx_assert(...) FWIW. -- John Baldwin From owner-freebsd-arch@FreeBSD.ORG Thu Jul 26 10:42:12 2007 Return-Path: Delivered-To: arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 73F2A16A418; Thu, 26 Jul 2007 10:42:12 +0000 (UTC) (envelope-from anders@FreeBSD.org) Received: from fupp.net (totem.fix.no [80.91.36.20]) by mx1.freebsd.org (Postfix) with ESMTP id 28F2C13C45B; Thu, 26 Jul 2007 10:42:12 +0000 (UTC) (envelope-from anders@FreeBSD.org) Received: from localhost (totem.fix.no [80.91.36.20]) by fupp.net (Postfix) with ESMTP id DF4FE8D9923; Thu, 26 Jul 2007 12:23:28 +0200 (CEST) Received: from fupp.net ([80.91.36.20]) by localhost (totem.fix.no [80.91.36.20]) (amavisd-new, port 10024) with LMTP id JiXpFuhWka-I; Thu, 26 Jul 2007 12:23:28 +0200 (CEST) Received: by fupp.net (Postfix, from userid 1000) id 6179C8D991C; Thu, 26 Jul 2007 12:23:28 +0200 (CEST) Date: Thu, 26 Jul 2007 12:23:28 +0200 From: Anders Nordby To: Robert Watson Message-ID: <20070726102328.GA12293@fupp.net> References: <20070724110908.T83919@fledge.watson.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070724110908.T83919@fledge.watson.org> X-PGP-Key: http://anders.fix.no/pgp/ X-PGP-Key-FingerPrint: 1E0F C53C D8DF 6A8F EAAD 19C5 D12A BC9F 0083 5956 User-Agent: Mutt/1.5.11 Cc: arch@FreeBSD.org, bz@FreeBSD.org, current@FreeBSD.og, bde@FreeBSD.org, gnn@FreeBSD.org Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 10:42:12 -0000 Hi, On Tue, Jul 24, 2007 at 11:17:45AM +0100, Robert Watson wrote: > Attached is the first of a series of patches to start removing the > NET_NEEDS_GIANT and debug.mpsafenet scaffolding. This source code > declaration was used by optionally compiled components to declare a strict > requirement for Giant, and forced Giant over the entire network stack. > debug.mpsafenet could also be set by users in loader.conf in order to > similar force Giant over the network stack, and existed for two reasons: to > allow Giant to be put back over the network stack for debugging purposes, > and to support these recently removed or fixed unsafe components. As such, > this patch removes the following: > > - NET_NEEDS_GIANT() macro > - debug.mpsafenet tunable/sysctl and associated debug_mpsafenet variable, as > well as functions supporting these. > - Use of this variable to control acqusition of Giant in network-related > interrupt handlers and various other paths. I've used and still use debug_mpsafenet to get rid of watchdog timeout problems on a lot of HP Proliant servers, particularly with the bge driver: Dec 21 06:42:51 videovm1 kernel: bge0: watchdog timeout -- resetting Dec 21 06:42:51 videovm1 kernel: bge0: link state changed to DOWN Dec 21 06:42:54 videovm1 kernel: bge0: link state changed to UP This problem goes away with debug.mpsafenet="0", for me. I can try to turn off this setting, and see how it goes. I remember there was something one could do, to get more information about the watchdog error, but can't remember what. Another thing, bde did some watchdog fixes for bge in december 2006. I wonder why those didn't make it into 6.2, which was released in january 2007. Regards, -- Anders. From owner-freebsd-arch@FreeBSD.ORG Thu Jul 26 10:53:59 2007 Return-Path: Delivered-To: arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C410B16A46E; Thu, 26 Jul 2007 10:53:59 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id AE52D13C45D; Thu, 26 Jul 2007 10:53:59 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from rot26.obsecurity.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id B8BF91A3C1A; Thu, 26 Jul 2007 03:53:59 -0700 (PDT) Received: by rot26.obsecurity.org (Postfix, from userid 1001) id EB319BA2E; Thu, 26 Jul 2007 06:53:58 -0400 (EDT) Date: Thu, 26 Jul 2007 06:53:58 -0400 From: Kris Kennaway To: Anders Nordby Message-ID: <20070726105358.GA43979@rot26.obsecurity.org> References: <20070724110908.T83919@fledge.watson.org> <20070726102328.GA12293@fupp.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="9amGYk9869ThD9tj" Content-Disposition: inline In-Reply-To: <20070726102328.GA12293@fupp.net> User-Agent: Mutt/1.4.2.3i Cc: arch@FreeBSD.org, Robert Watson Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 10:53:59 -0000 --9amGYk9869ThD9tj Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Jul 26, 2007 at 12:23:28PM +0200, Anders Nordby wrote: > Hi, >=20 > On Tue, Jul 24, 2007 at 11:17:45AM +0100, Robert Watson wrote: > > Attached is the first of a series of patches to start removing the=20 > > NET_NEEDS_GIANT and debug.mpsafenet scaffolding. This source code=20 > > declaration was used by optionally compiled components to declare a str= ict=20 > > requirement for Giant, and forced Giant over the entire network stack. = =20 > > debug.mpsafenet could also be set by users in loader.conf in order to= =20 > > similar force Giant over the network stack, and existed for two reasons= : to=20 > > allow Giant to be put back over the network stack for debugging purpose= s,=20 > > and to support these recently removed or fixed unsafe components. As s= uch,=20 > > this patch removes the following: > >=20 > > - NET_NEEDS_GIANT() macro > > - debug.mpsafenet tunable/sysctl and associated debug_mpsafenet variabl= e, as > > well as functions supporting these. > > - Use of this variable to control acqusition of Giant in network-related > > interrupt handlers and various other paths. >=20 > I've used and still use debug_mpsafenet to get rid of watchdog timeout > problems on a lot of HP Proliant servers, particularly with the bge > driver: >=20 > Dec 21 06:42:51 videovm1 kernel: bge0: watchdog timeout -- resetting > Dec 21 06:42:51 videovm1 kernel: bge0: link state changed to DOWN > Dec 21 06:42:54 videovm1 kernel: bge0: link state changed to UP >=20 > This problem goes away with debug.mpsafenet=3D"0", for me. >=20 > I can try to turn off this setting, and see how it goes. I remember > there was something one could do, to get more information about the > watchdog error, but can't remember what. Please do. There is no sense in crippling your network for the sake of an unre{solved,ported} driver bug. > Another thing, bde did some watchdog fixes for bge in december 2006. I > wonder why those didn't make it into 6.2, which was released in january > 2007. Too late, probably. Kris --9amGYk9869ThD9tj Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFGqH1GWry0BWjoQKURAg+7AJ4rURsR7odNKC26Wvmr75aQc1EqjgCg9YA+ VATS3w3kORYCe9/5N5KTCqw= =q9To -----END PGP SIGNATURE----- --9amGYk9869ThD9tj-- From owner-freebsd-arch@FreeBSD.ORG Thu Jul 26 11:11:51 2007 Return-Path: Delivered-To: arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7FA2916A41F; Thu, 26 Jul 2007 11:11:51 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id 2DF9B13C48D; Thu, 26 Jul 2007 11:11:51 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 1CA0446E85; Thu, 26 Jul 2007 07:11:50 -0400 (EDT) Date: Thu, 26 Jul 2007 12:11:49 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Kris Kennaway In-Reply-To: <20070726105358.GA43979@rot26.obsecurity.org> Message-ID: <20070726120713.Q15979@fledge.watson.org> References: <20070724110908.T83919@fledge.watson.org> <20070726102328.GA12293@fupp.net> <20070726105358.GA43979@rot26.obsecurity.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: arch@FreeBSD.org, Anders Nordby , jkim@FreeBSD.org Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 11:11:51 -0000 On Thu, 26 Jul 2007, Kris Kennaway wrote: >> I've used and still use debug_mpsafenet to get rid of watchdog timeout >> problems on a lot of HP Proliant servers, particularly with the bge driver: >> >> Dec 21 06:42:51 videovm1 kernel: bge0: watchdog timeout -- resetting >> Dec 21 06:42:51 videovm1 kernel: bge0: link state changed to DOWN >> Dec 21 06:42:54 videovm1 kernel: bge0: link state changed to UP >> >> This problem goes away with debug.mpsafenet="0", for me. >> >> I can try to turn off this setting, and see how it goes. I remember there >> was something one could do, to get more information about the watchdog >> error, but can't remember what. > > Please do. There is no sense in crippling your network for the sake of an > unre{solved,ported} driver bug. I agree with what Kris said, only more so. :-) By masking the bug using debug.mpsafenet, whatever bug is the root of the problem isn't getting fixed, and instead keeps going out in releases. This sounds like it's most likely a driver bug, although I wouldn't rule out some sort of interrupt problem. It looks like jkim might be someone to talk to about this (CC'd). Robert N M Watson Computer Laboratory University of Cambridge From owner-freebsd-arch@FreeBSD.ORG Thu Jul 26 11:17:55 2007 Return-Path: Delivered-To: arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ED0A116A41A; Thu, 26 Jul 2007 11:17:55 +0000 (UTC) (envelope-from anders@FreeBSD.org) Received: from fupp.net (totem.fix.no [80.91.36.20]) by mx1.freebsd.org (Postfix) with ESMTP id 9CA5F13C457; Thu, 26 Jul 2007 11:17:55 +0000 (UTC) (envelope-from anders@FreeBSD.org) Received: from localhost (totem.fix.no [80.91.36.20]) by fupp.net (Postfix) with ESMTP id BEA1C8D98E6; Thu, 26 Jul 2007 13:17:54 +0200 (CEST) Received: from fupp.net ([80.91.36.20]) by localhost (totem.fix.no [80.91.36.20]) (amavisd-new, port 10024) with LMTP id aRGVZu1zGxJq; Thu, 26 Jul 2007 13:17:54 +0200 (CEST) Received: by fupp.net (Postfix, from userid 1000) id 5FF3C8D989A; Thu, 26 Jul 2007 13:17:54 +0200 (CEST) Date: Thu, 26 Jul 2007 13:17:54 +0200 From: Anders Nordby To: Robert Watson Message-ID: <20070726111754.GA80207@fupp.net> References: <20070724110908.T83919@fledge.watson.org> <20070726102328.GA12293@fupp.net> <20070726105358.GA43979@rot26.obsecurity.org> <20070726120713.Q15979@fledge.watson.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20070726120713.Q15979@fledge.watson.org> X-PGP-Key: http://anders.fix.no/pgp/ X-PGP-Key-FingerPrint: 1E0F C53C D8DF 6A8F EAAD 19C5 D12A BC9F 0083 5956 User-Agent: Mutt/1.5.11 Cc: arch@FreeBSD.org, jkim@FreeBSD.org, Kris Kennaway Subject: Re: Removing NET_NEEDS_GIANT: first patch X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 11:17:56 -0000 hI! On Thu, Jul 26, 2007 at 12:11:49PM +0100, Robert Watson wrote: > I agree with what Kris said, only more so. :-) By masking the bug using > debug.mpsafenet, whatever bug is the root of the problem isn't getting > fixed, and instead keeps going out in releases. This sounds like it's most > likely a driver bug, although I wouldn't rule out some sort of interrupt > problem. It looks like jkim might be someone to talk to about this (CC'd). Does any of you know how to find the cause of the watchdog timeout? My (poor) excuse for still using debug.mpsafenet is that the servers are in production, and that I "just" wanted them to work as stable as possible. Cheers, -- Anders. From owner-freebsd-arch@FreeBSD.ORG Thu Jul 26 11:50:43 2007 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D225716A418 for ; Thu, 26 Jul 2007 11:50:43 +0000 (UTC) (envelope-from vova@sw.ru) Received: from vbook.fbsd.ru (swsoft-mipt-nat.sw.ru [195.214.233.10]) by mx1.freebsd.org (Postfix) with ESMTP id 8C2E613C478 for ; Thu, 26 Jul 2007 11:50:43 +0000 (UTC) (envelope-from vova@sw.ru) Received: from vova by vbook.fbsd.ru with local (Exim 4.67 (FreeBSD)) (envelope-from ) id 1IE1V7-0000lK-D3; Thu, 26 Jul 2007 15:27:25 +0400 From: Vladimir Grebenschikov To: arch@freebsd.org Content-Type: text/plain Content-Transfer-Encoding: 7bit Organization: SWsoft Date: Thu, 26 Jul 2007 15:27:24 +0400 Message-Id: <1185449244.1466.18.camel@localhost> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 FreeBSD GNOME Team Port Sender: Vladimir Grebenschikov Cc: current Subject: setting dumpdev while boot on 7-CURRENT X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 11:50:43 -0000 Hi I am trying to figure out how to setup dumpdev while kernel build or from loader. Looks like it is impossible to use old (very old) way with flags. dumpdev loader variable described here: http://freebsd-man.page2go2.com/man8/loader_8.html is not work and event not present any more in laoder.8: ---------------------------- revision 1.70 date: 2004/09/30 15:27:37; author: ru; state: Exp; lines: +0 -7 Setting dump device from loader(8) has not been supported since 2002. ---------------------------- Any hints how it should work ? -- Vladimir B. Grebenschikov SWsoft Inc. vova@swsoft.com From owner-freebsd-arch@FreeBSD.ORG Thu Jul 26 13:58:05 2007 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 117B416A479; Thu, 26 Jul 2007 13:58:05 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 0BA3013C4EE; Thu, 26 Jul 2007 13:57:58 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from rot26.obsecurity.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id 4000D1A3C1A; Thu, 26 Jul 2007 06:57:58 -0700 (PDT) Received: by rot26.obsecurity.org (Postfix, from userid 1001) id EFB66BA04; Thu, 26 Jul 2007 09:57:57 -0400 (EDT) Date: Thu, 26 Jul 2007 09:57:57 -0400 From: Kris Kennaway To: Vladimir Grebenschikov Message-ID: <20070726135757.GA50761@rot26.obsecurity.org> References: <1185449244.1466.18.camel@localhost> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1185449244.1466.18.camel@localhost> User-Agent: Mutt/1.4.2.3i Cc: arch@freebsd.org, current Subject: Re: setting dumpdev while boot on 7-CURRENT X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jul 2007 13:58:05 -0000 On Thu, Jul 26, 2007 at 03:27:24PM +0400, Vladimir Grebenschikov wrote: > Hi > > I am trying to figure out how to setup dumpdev while kernel build or > from loader. > > Looks like it is impossible to use old (very old) way with flags. > > dumpdev loader variable described here: > http://freebsd-man.page2go2.com/man8/loader_8.html > > is not work and event not present any more in laoder.8: > ---------------------------- > revision 1.70 > date: 2004/09/30 15:27:37; author: ru; state: Exp; lines: +0 -7 > Setting dump device from loader(8) has not been supported since 2002. > ---------------------------- > > Any hints how it should work ? Unfortunately it has not been supported since (apparently) 2002. Kris From owner-freebsd-arch@FreeBSD.ORG Fri Jul 27 02:41:08 2007 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3A33616A417; Fri, 27 Jul 2007 02:41:08 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from elvis.mu.org (elvis.mu.org [192.203.228.196]) by mx1.freebsd.org (Postfix) with ESMTP id 25ACE13C459; Fri, 27 Jul 2007 02:41:08 +0000 (UTC) (envelope-from kris@obsecurity.org) Received: from rot26.obsecurity.org (elvis.mu.org [192.203.228.196]) by elvis.mu.org (Postfix) with ESMTP id 440EB1A3C1A; Thu, 26 Jul 2007 19:41:05 -0700 (PDT) Received: by rot26.obsecurity.org (Postfix, from userid 1001) id E5DDABBB1; Thu, 26 Jul 2007 22:41:07 -0400 (EDT) Date: Thu, 26 Jul 2007 22:41:07 -0400 From: Kris Kennaway To: Julian Elischer Message-ID: <20070727024107.GA69300@rot26.obsecurity.org> References: <20070717131518.G1177@fledge.watson.org> <200707172342.39082.max@love2party.net> <20070720111539.U1096@fledge.watson.org> <46A100C2.1030606@elischer.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <46A100C2.1030606@elischer.org> User-Agent: Mutt/1.4.2.3i Cc: freebsd-net@freebsd.org, freebsd-arch@freebsd.org, freebsd-current@freebsd.org, Robert Watson , freebsd-pf@freebsd.org, Max Laier Subject: Re: Attention pf/ipfw users with uid/gid/jail rules (Re: Reminder: NET_NEEDS_GIANT, debug.mpsafenet going away in 7.0) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 02:41:08 -0000 On Fri, Jul 20, 2007 at 11:36:50AM -0700, Julian Elischer wrote: > Robert Watson wrote: > > > >On Tue, 17 Jul 2007, Max Laier wrote: > > > >So far I have had 0 (zero) reports of problems since this thread began. > >Could people using uid/gid/jail rules with ipfw or pf on 7.x *please* > >try running their firewalls without debug.mpsafenet -- ignore the > >witness warnings and/or disable witness, and let us know if you > >experience deadlocks. We're reaching the very end of the merge cycle > >for 7.0, and I would really like to remove the Giant crutches (now > >effectively unused) from the network stack so it's not part of the > >ABI/API, the code is simplified and cleaned up, etc. > > > > does "problem" include a LOR message, or only a deadlock? > I've seen plenty of the first, but not the second. Various users have reported definite deadlocks relating to uid/gid firewall rules in the past. Kris From owner-freebsd-arch@FreeBSD.ORG Fri Jul 27 07:44:13 2007 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 6BF8416A418; Fri, 27 Jul 2007 07:44:13 +0000 (UTC) (envelope-from max@love2party.net) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.174]) by mx1.freebsd.org (Postfix) with ESMTP id E4D2413C4B5; Fri, 27 Jul 2007 07:44:12 +0000 (UTC) (envelope-from max@love2party.net) Received: from [88.66.18.93] (helo=amd64.laiers.local) by mrelayeu.kundenserver.de (node=mrelayeu0) with ESMTP (Nemesis), id 0MKwh2-1IEKUc0Xom-00005Q; Fri, 27 Jul 2007 09:44:11 +0200 From: Max Laier Organization: FreeBSD To: Kris Kennaway Date: Fri, 27 Jul 2007 09:43:53 +0200 User-Agent: KMail/1.9.7 References: <20070717131518.G1177@fledge.watson.org> <46A100C2.1030606@elischer.org> <20070727024107.GA69300@rot26.obsecurity.org> In-Reply-To: <20070727024107.GA69300@rot26.obsecurity.org> X-Face: ,,8R(x[kmU]tKN@>gtH1yQE4aslGdu+2]; R]*pL,U>^H?)gW@49@wdJ`H<=?utf-8?q?=25=7D*=5FBD=0A=09U=5For=3D=5CmOZf764=26nYj=3DJYbR1PW0ud?=>|!~,,CPC.1-D$FG@0h3#'5"k{V]a~.<=?utf-8?q?mZ=7D44=23Se=7Em=0A=09Fe=7E=5C=5DX5B=5D=5Fxj?=(ykz9QKMw_l0C2AQ]}Ym8)fU MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart1297215.7gjCYQZVqa"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200707270944.08668.max@love2party.net> X-Provags-ID: V01U2FsdGVkX19qgpJOsKPY13+dL0inB7/YqoaLLyS5B5I950U 3bLJO+qL4iNi9SOsv6E+CSfwVHqiAhIxlo9bBWaAul270yGKjy VHW9gY91VBvPOvwvL184E6mlcgcg15Zsy7aqOUn/lE= Cc: Robert Watson , Julian Elischer , freebsd-arch@freebsd.org Subject: Re: Attention pf/ipfw users with uid/gid/jail rules (Re: Reminder: NET_NEEDS_GIANT, debug.mpsafenet going away in 7.0) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 07:44:13 -0000 --nextPart1297215.7gjCYQZVqa Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Friday 27 July 2007, Kris Kennaway wrote: > On Fri, Jul 20, 2007 at 11:36:50AM -0700, Julian Elischer wrote: > > Robert Watson wrote: > > >On Tue, 17 Jul 2007, Max Laier wrote: > > > > > >So far I have had 0 (zero) reports of problems since this thread > > > began. Could people using uid/gid/jail rules with ipfw or pf on 7.x > > > *please* try running their firewalls without debug.mpsafenet -- > > > ignore the witness warnings and/or disable witness, and let us know > > > if you experience deadlocks. We're reaching the very end of the > > > merge cycle for 7.0, and I would really like to remove the Giant > > > crutches (now effectively unused) from the network stack so it's > > > not part of the ABI/API, the code is simplified and cleaned up, > > > etc. > > > > does "problem" include a LOR message, or only a deadlock? > > I've seen plenty of the first, but not the second. > > Various users have reported definite deadlocks relating to uid/gid ^------^ ^------^ > firewall rules in the past. I don't think the strong wording is true. I have seen a few reports of=20 deadlocks in the past where debug.mpsafenet "fixed" the issue, but none=20 of the reporters where able to provide enough debugging details to=20 actually identify the culprit. Also note that a lot has changed since the early reports. What WITNESS is= =20 warning about now is something like: rlock(&lock1); mtx_lock(&lock2); mtx_unlock(&lock2); runlock(&lock1); vs. mtx_lock(&lock2); rlock(&lock1); runlock(&lock1); mtx_unlock(&lock2); It's obvious that this can't cause a deadlock unless there is a third=20 codepath that does either: wlock(&lock1); mtx_lock(&lock2); mtx_unlock(&lock2); wunlock(&lock1); or mtx_lock(&lock2); wlock(&lock1); wunlock(&lock1); mtx_unlock(&lock2); I have an idea how to teach WITNESS about this, but it's an awful hack,=20 yet. =2D-=20 /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News --nextPart1297215.7gjCYQZVqa Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQBGqaJIXyyEoT62BG0RAm1aAJ9odYqxJEIjxEMrbr+bG2r3jC5TsQCaAr5+ 9fVT+KOkkxdub/q9NyqKoj4= =mAop -----END PGP SIGNATURE----- --nextPart1297215.7gjCYQZVqa-- From owner-freebsd-arch@FreeBSD.ORG Fri Jul 27 08:00:28 2007 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id F098316A418 for ; Fri, 27 Jul 2007 08:00:28 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.freebsd.org (Postfix) with ESMTP id BD61813C478 for ; Fri, 27 Jul 2007 08:00:28 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 99D4348E3F; Fri, 27 Jul 2007 04:00:24 -0400 (EDT) Date: Fri, 27 Jul 2007 09:00:24 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Max Laier In-Reply-To: <200707270944.08668.max@love2party.net> Message-ID: <20070727085544.E44481@fledge.watson.org> References: <20070717131518.G1177@fledge.watson.org> <46A100C2.1030606@elischer.org> <20070727024107.GA69300@rot26.obsecurity.org> <200707270944.08668.max@love2party.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-arch@freebsd.org, Julian Elischer , Kris Kennaway Subject: Re: Attention pf/ipfw users with uid/gid/jail rules (Re: Reminder: NET_NEEDS_GIANT, debug.mpsafenet going away in 7.0) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jul 2007 08:00:29 -0000 On Fri, 27 Jul 2007, Max Laier wrote: >>> does "problem" include a LOR message, or only a deadlock? >>> I've seen plenty of the first, but not the second. >> >> Various users have reported definite deadlocks relating to uid/gid > ^------^ ^------^ >> firewall rules in the past. > > I don't think the strong wording is true. I have seen a few reports of > deadlocks in the past where debug.mpsafenet "fixed" the issue, but none of > the reporters where able to provide enough debugging details to actually > identify the culprit. There was a period when there were definitely deadlocks being reported, but I believe quite a few cases were resolved by Christian's work to push the inpcb down the transmit path in more cases, allowing firewalls to avoid acquiring pcbinfo/pcb locks, which in turn avoided a lock order reversable between the pcbinfo and pcb locks (pcb locks are held over transmit from the IP layer, and the lock order is pcbinfo -> pcb). So to expand on Max's thoughts -- the worry here is that we've corrected the deadlock but not the witness warnings associated with a non-deadlockable reversal. Witness is reasonable to get upset about lock order, but current reasoning is that because this lock is only acquired readably when used in combination with other locks, there isn't deadlock potential, since the read acquire will be non-blocking when involved with those locks, preventing a cycle of waiting. It's good reasoning, and possibly correct :-). Robert N M Watson Computer Laboratory University of Cambridge > > Also note that a lot has changed since the early reports. What WITNESS is > warning about now is something like: > > rlock(&lock1); > mtx_lock(&lock2); > mtx_unlock(&lock2); > runlock(&lock1); > > vs. > > mtx_lock(&lock2); > rlock(&lock1); > runlock(&lock1); > mtx_unlock(&lock2); > > It's obvious that this can't cause a deadlock unless there is a third > codepath that does either: > > wlock(&lock1); > mtx_lock(&lock2); > mtx_unlock(&lock2); > wunlock(&lock1); > > or > > mtx_lock(&lock2); > wlock(&lock1); > wunlock(&lock1); > mtx_unlock(&lock2); > > I have an idea how to teach WITNESS about this, but it's an awful hack, > yet. > > -- > /"\ Best regards, | mlaier@freebsd.org > \ / Max Laier | ICQ #67774661 > X http://pf4freebsd.love2party.net/ | mlaier@EFnet > / \ ASCII Ribbon Campaign | Against HTML Mail and News > From owner-freebsd-arch@FreeBSD.ORG Sat Jul 28 19:42:36 2007 Return-Path: Delivered-To: freebsd-arch@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1B27216A41A; Sat, 28 Jul 2007 19:42:36 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from mojo.ru (mojo.ru [84.252.152.63]) by mx1.freebsd.org (Postfix) with ESMTP id 8344713C469; Sat, 28 Jul 2007 19:42:35 +0000 (UTC) (envelope-from cnst@FreeBSD.org) Received: from [192.168.0.16] (nc-76-4-28-21.dhcp.embarqhsd.net [76.4.28.21]) (authenticated bits=0) by mojo.ru (8.12.11.20060308/8.12.10) with ESMTP id l6SJgZdw022881 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Sat, 28 Jul 2007 23:42:39 +0400 Message-ID: <46AB9C21.7010706@FreeBSD.org> Date: Sat, 28 Jul 2007 15:42:25 -0400 From: "Constantine A. Murenin" Organization: Google Summer of Code 2007 Student @ The FreeBSD Project User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.7.5) Gecko/20041217 X-Accept-Language: en-gb, en-gb-oed, en, en-us, ru, ru-ru, ru-su MIME-Version: 1.0 To: Perforce Change Reviews References: <200707281831.l6SIVKDW071679@repoman.freebsd.org> In-Reply-To: <200707281831.l6SIVKDW071679@repoman.freebsd.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: Shteryana Shopova , freebsd-arch@FreeBSD.org, "Constantine A. Murenin" Subject: soc2007/cnst-sensors update (was: Re: PERFORCE change 124277 for review) X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-arch@FreeBSD.org, "Constantine A. Murenin" , Shteryana Shopova List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 28 Jul 2007 19:42:36 -0000 On 28/07/2007 14:31, Constantine A. Murenin wrote: > http://perforce.freebsd.org/chv.cgi?CH=124277 > > Change 124277 by cnst@dale on 2007/07/28 18:30:44 > > add 'sensors' display to systat(1) BTW, for those who are following this project: sensor_attach(9), sysctl(3), sensorsd(8) and systat(1) are now fully functional in regards to sensors framework -- here is a snippet of what I get from systat(1) on FreeBSD with the code that's already in p4: Sensor Value Status Description lm0.temp0 59.00 degC lm0.temp1 46.50 degC lm0.fan1 917 RPM lm0.volt0 1.23 V DC (VCore) lm0.volt1 12.30 V DC (+12V) lm0.volt2 3.33 V DC (+3.3V) lm0.volt3 3.31 V DC (+3.3V) ... The status field in this example is always empty because lm(4) doesn't keep the state of its sensors -- sensor status is mostly intended for logical drive sensors (i.e. raid) and ipmi(4)-style sensors, as well as any other hardware that is smart enough to know what acceptable values are. (Description field is optional, too.) If the driver provides status for its sensors, then sensorsd(8) will automatically alert when the said status changes -- no additional configuration is required. For hardware that does not provide status, sensorsd(8) can be configured with specific limits for each sensor or for sensors of certain type. For more details, see sensorsd.conf(5). P.S. Work on sysctl(8) is still ongoing, but the above parts are mostly done (although I still have a few plans on making them even better). Cheers, Constantine, Google Summer of Code 2007 Student @ The FreeBSD Project. :)