Date: Thu, 27 Mar 2003 01:36:38 -0600 (CST) From: Mike Silbersack <silby@silby.com> To: Maxime Henrion <mux@freebsd.org> Cc: cvs-src@FreeBSD.org Subject: Re: cvs commit: src/sys/conf options src/sys/netinet ip_output.c Message-ID: <20030327013224.P7674@odysseus.silby.com> In-Reply-To: <20030326130903.G2075@odysseus.silby.com> References: <200303260452.h2Q4quap015364@www.ambrisko.com> <20030326183351.GJ57674@elvis.mu.org> <20030326130903.G2075@odysseus.silby.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-1494665756-1048750598=:7674 Content-Type: TEXT/PLAIN; charset=US-ASCII Ok, I think I have m_defrag in a working state, please review. Changes from last time: - It supports infinitely long chains. - It has a "goal" argument which is supposed to be a hint to tell m_defrag how long the chain can be. It is currently ignored; someone may want to honor this later for optimization purposes. - I fixed up the error case in if_xl, it only runs if needed now At the top of the if_loop and if_xl patches are debugging code I used to make it was working right, they're certainly not going in. m_defrag should be totally free of debug code. Dig in! Mike "Silby" Silbersack --0-1494665756-1048750598=:7674 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="m_defragment-pass4.patch" Content-Transfer-Encoding: BASE64 Content-ID: <20030327013638.B7674@odysseus.silby.com> Content-Description: Content-Disposition: attachment; filename="m_defragment-pass4.patch" ZGlmZiAtdSAtciAvdXNyL3NyYy9zeXMub2xkL2tlcm4vdWlwY19tYnVmLmMg L3Vzci9zcmMvc3lzL2tlcm4vdWlwY19tYnVmLmMNCi0tLSAvdXNyL3NyYy9z eXMub2xkL2tlcm4vdWlwY19tYnVmLmMJVHVlIE1hciAyNSAxOTo1MTo0NCAy MDAzDQorKysgL3Vzci9zcmMvc3lzL2tlcm4vdWlwY19tYnVmLmMJVGh1IE1h ciAyNyAwMTozMjozNiAyMDAzDQpAQCAtNTIsNiArNTIsNyBAQA0KIGludAlt YXhfcHJvdG9oZHI7DQogaW50CW1heF9oZHI7DQogaW50CW1heF9kYXRhbGVu Ow0KK2ludAltX2RlZnJhZ2NvdW50Ow0KIA0KIC8qDQogICogc3lzY3RsKDgp IGV4cG9ydGVkIG9iamVjdHMNCkBAIC02NCw2ICs2NSw4IEBADQogU1lTQ1RM X0lOVChfa2Vybl9pcGMsIEtJUENfTUFYX0hEUiwgbWF4X2hkciwgQ1RMRkxB R19SVywgJm1heF9oZHIsIDAsICIiKTsNCiBTWVNDVExfSU5UKF9rZXJuX2lw YywgS0lQQ19NQVhfREFUQUxFTiwgbWF4X2RhdGFsZW4sIENUTEZMQUdfUlcs DQogCSAgICZtYXhfZGF0YWxlbiwgMCwgIiIpOw0KK1NZU0NUTF9JTlQoX2tl cm5faXBjLCBPSURfQVVUTywgbV9kZWZyYWdjb3VudCwgQ1RMRkxBR19SVywN CisJICAgJm1fZGVmcmFnY291bnQsIDAsICIiKTsNCiANCiAvKg0KICAqICJN b3ZlIiBtYnVmIHBrdGhkciBmcm9tICJmcm9tIiB0byAidG8iLg0KQEAgLTc3 Nyw0ICs3ODAsNjYgQEANCiAJaWYgKGxhc3QgIT0gTlVMTCkNCiAJCSpsYXN0 ID0gbTsNCiAJcmV0dXJuIChsZW4pOw0KK30NCisNCisvKg0KKyAqIERlZnJh Z21lbnQgYSBtYnVmIGNoYWluLCByZXR1cm5pbmcgYSBuZXcgbWJ1ZiBjaGFp biB3aGljaCBpcw0KKyAqIGNvbXByaXNlZCBvZiBzb21lIGNoYWluID08ICJn b2FsIi4gIFJldHVybiBOVUxMIGlmIG1idWYNCisgKiBhbGxvY2F0aW9uIGZh aWxzLCByYXRoZXIgdGhhbiByZXR1cm5pbmcgdGhlIHN0aWxsIGZyYWdtZW50 ZWQNCisgKiBjaGFpbi4gIElmIGEgbm9uLXBhY2tldCBoZWFkZXIgaXMgcGFz c2VkIGluLCB0aGUgb3JpZ2luYWwNCisgKiBtYnVmIChjaGFpbj8pIHdpbGwg YmUgcmV0dXJuZWQgdW5oYXJtZWQuDQorICoNCisgKi8NCitzdHJ1Y3QgbWJ1 ZiAqDQorbV9kZWZyYWcoc3RydWN0IG1idWYgKm0wLCBpbnQgaG93LCBpbnQg Z29hbCkNCit7DQorCXN0cnVjdCBtYnVmCSptX25ldyA9IE5VTEwsICptX2Zp bmFsID0gTlVMTDsNCisJaW50CQlwcm9ncmVzcyA9IDAsIGxlbmd0aDsNCisN CisJaWYgKCEobTAtPm1fZmxhZ3MgJiBNX1BLVEhEUikpDQorCQlyZXR1cm4g KG0wKTsNCisNCisJbV9maW5hbCA9IG1fZ2V0aGRyKGhvdywgTVRfREFUQSk7 DQorDQorCWlmIChtX2ZpbmFsID09IE5VTEwpDQorCQlnb3RvIG5vc3BhY2U7 DQorDQorCWlmIChtX2R1cF9wa3RoZHIobV9maW5hbCwgbTAsIGhvdykgPT0g TlVMTCkNCisJCWdvdG8gbm9zcGFjZTsNCisNCisJbV9uZXcgPSBtX2ZpbmFs Ow0KKw0KKwl3aGlsZSAocHJvZ3Jlc3MgPCBtMC0+bV9wa3RoZHIubGVuKSB7 DQorCQlsZW5ndGggPSBtMC0+bV9wa3RoZHIubGVuIC0gcHJvZ3Jlc3M7DQor CQlpZiAobGVuZ3RoID4gTUNMQllURVMpDQorCQkJbGVuZ3RoID0gTUNMQllU RVM7DQorDQorCQlpZiAobV9uZXcgPT0gTlVMTCkNCisJCQltX25ldyA9IG1f Z2V0KGhvdywgTVRfREFUQSk7DQorDQorCQlpZiAobGVuZ3RoID4gTUhMRU4p IHsNCisJCQlNQ0xHRVQobV9uZXcsIGhvdyk7DQorCQkJaWYgKChtX25ldy0+ bV9mbGFncyAmIE1fRVhUKSA9PSAwKQ0KKwkJCQlnb3RvIG5vc3BhY2U7DQor CQl9DQorDQorCQltX2NvcHlkYXRhKG0wLCBwcm9ncmVzcywgbGVuZ3RoLCBt dG9kKG1fbmV3LCBjYWRkcl90KSk7DQorCQlwcm9ncmVzcyArPSBsZW5ndGg7 DQorCQltX25ldy0+bV9sZW4gPSBsZW5ndGg7DQorCQlpZiAobV9uZXcgIT0g bV9maW5hbCkNCisJCQltX2NhdChtX2ZpbmFsLCBtX25ldyk7DQorCQltX25l dyA9IE5VTEw7DQorCX0NCisJbV9mcmVlbShtMCk7DQorCW0wID0gbV9maW5h bDsNCisJbV9kZWZyYWdjb3VudCsrOw0KKwlyZXR1cm4gKG0wKTsNCitub3Nw YWNlOg0KKwlpZiAobTApDQorCQltX2ZyZWVtKG0wKTsNCisJaWYgKG1fbmV3 KQ0KKwkJbV9mcmVlKG1fbmV3KTsNCisJaWYgKG1fZmluYWwpDQorCQltX2Zy ZWVtKG1fZmluYWwpOw0KKwlyZXR1cm4gKE5VTEwpOw0KIH0NCmRpZmYgLXUg LXIgL3Vzci9zcmMvc3lzLm9sZC9uZXQvaWZfbG9vcC5jIC91c3Ivc3JjL3N5 cy9uZXQvaWZfbG9vcC5jDQotLS0gL3Vzci9zcmMvc3lzLm9sZC9uZXQvaWZf bG9vcC5jCVR1ZSBNYXIgMjUgMTk6NTE6MDIgMjAwMw0KKysrIC91c3Ivc3Jj L3N5cy9uZXQvaWZfbG9vcC5jCVRodSBNYXIgMjcgMDE6Mzc6NDUgMjAwMw0K QEAgLTE5Miw2ICsxOTIsMjcgQEANCiAJc3RydWN0IHNvY2thZGRyICpkc3Q7 DQogCXJlZ2lzdGVyIHN0cnVjdCBydGVudHJ5ICpydDsNCiB7DQorCXN0cnVj dCBtYnVmCSptX3RlbXA7DQorCWludAliZWZvcmUgPSAwLCBhZnRlciA9IDA7 DQorCWludAlsYmVmb3JlID0gMCwgbGFmdGVyID0gMDsNCisNCisNCisgICAg ICAgIGZvciAobV90ZW1wID0gbTsgbV90ZW1wICE9IE5VTEw7IG1fdGVtcCA9 IG1fdGVtcC0+bV9uZXh0KSB7DQorICAgICAgICAgICAgICAgIGxiZWZvcmUg Kz0gbV90ZW1wLT5tX2xlbjsNCisgICAgICAgICAgICAgICAgYmVmb3JlKys7 DQorICAgICAgICB9DQorIA0KKyAgICAgICAgaWYgKGJlZm9yZSA+IDIwKQ0K KyAgICAgICAgICAgICAgICBtID0gbV9kZWZyYWcobSwgTV9ET05UV0FJVCwg MSk7DQorIA0KKyAgICAgICAgZm9yIChtX3RlbXAgPSBtOyBtX3RlbXAgIT0g TlVMTDsgbV90ZW1wID0gbV90ZW1wLT5tX25leHQpIHsgDQorICAgICAgICAg ICAgICAgIGxhZnRlciArPSBtX3RlbXAtPm1fbGVuOw0KKyAgICAgICAgICAg ICAgICBhZnRlcisrOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgaWYgKGJl Zm9yZSAhPSBhZnRlcikNCisgICAgICAgICAgICAgICAgcHJpbnRmKCJiZWZv cmU6ICVpICglaSkgYWZ0ZXI6ICVpICglaSlcbiIsIGJlZm9yZSwgbGJlZm9y ZSwgYWZ0ZXIsIGxhZnRlcik7DQorDQogCWlmICgobS0+bV9mbGFncyAmIE1f UEtUSERSKSA9PSAwKQ0KIAkJcGFuaWMoImxvb3V0cHV0IG5vIEhEUiIpOw0K IA0KZGlmZiAtdSAtciAvdXNyL3NyYy9zeXMub2xkL3BjaS9pZl94bC5jIC91 c3Ivc3JjL3N5cy9wY2kvaWZfeGwuYw0KLS0tIC91c3Ivc3JjL3N5cy5vbGQv cGNpL2lmX3hsLmMJVHVlIE1hciAyNSAxOTo1MDo1MiAyMDAzDQorKysgL3Vz ci9zcmMvc3lzL3BjaS9pZl94bC5jCVRodSBNYXIgMjcgMDE6MDE6MDIgMjAw Mw0KQEAgLTI0MTIsOSArMjQxMiwyNyBAQA0KIAlzdHJ1Y3QgeGxfY2hhaW4J CSpjOw0KIAlzdHJ1Y3QgbWJ1ZgkJKm1faGVhZDsNCiB7DQotCXN0cnVjdCB4 bF9mcmFnCQkqZiA9IE5VTEw7DQogCWludAkJCWVycm9yOw0KLQl1X2ludDMy X3QJCWJhZGRyLCBzdGF0dXM7DQorCXVfaW50MzJfdAkJc3RhdHVzOw0KKwlz dHJ1Y3QgbWJ1ZgkJKm1fdGVtcDsNCisJaW50CQkJbGJlZm9yZSA9IDAsIGxh ZnRlciA9IDA7DQorCWludAkJCWJlZm9yZSA9IDAsIGFmdGVyID0gMDsNCisN CisJZm9yIChtX3RlbXAgPSBtX2hlYWQ7IG1fdGVtcCAhPSBOVUxMOyBtX3Rl bXAgPSBtX3RlbXAtPm1fbmV4dCkgew0KKwkJbGJlZm9yZSArPSBtX3RlbXAt Pm1fbGVuOw0KKwkJYmVmb3JlKys7DQorCX0NCisNCisJaWYgKGJlZm9yZSA+ IDUpDQorCQltX2hlYWQgPSBtX2RlZnJhZyhtX2hlYWQsIE1fRE9OVFdBSVQs IDEpOw0KKw0KKwlmb3IgKG1fdGVtcCA9IG1faGVhZDsgbV90ZW1wICE9IE5V TEw7IG1fdGVtcCA9IG1fdGVtcC0+bV9uZXh0KSB7DQorCQlsYWZ0ZXIgKz0g bV90ZW1wLT5tX2xlbjsNCisJCWFmdGVyKys7DQorCX0NCisNCisJaWYgKGJl Zm9yZSAhPSBhZnRlcikNCisJCXByaW50ZigiYmVmb3JlOiAlaSAoJWkpIGFm dGVyOiAlaSAoJWkpXG4iLCBiZWZvcmUsIGxiZWZvcmUsIGFmdGVyLCBsYWZ0 ZXIpOw0KIA0KIAkvKg0KICAJICogU3RhcnQgcGFja2luZyB0aGUgbWJ1ZnMg aW4gdGhpcyBjaGFpbiBpbnRvDQpAQCAtMjQzOSwzNSArMjQ1NywyMSBAQA0K IAkgKiBhbmQgd291bGQgd2FzdGUgY3ljbGVzLg0KIAkgKi8NCiAJaWYgKGVy cm9yKSB7DQotCQlzdHJ1Y3QgbWJ1ZgkJKm1fbmV3Ow0KKwkJbV9oZWFkID0g bV9kZWZyYWcobV9oZWFkLCBNX0RPTlRXQUlULCBYTF9NQVhGUkFHUyk7DQog DQotCQltX25ldyA9IG1faGVhZC0+bV9wa3RoZHIubGVuID4gTUhMRU4gPw0K LQkJICAgIG1fZ2V0Y2woTV9ET05UV0FJVCwgTVRfREFUQSwgTV9QS1RIRFIp IDoNCi0JCSAgICBtX2dldGhkcihNX0RPTlRXQUlULCBNVF9EQVRBKTsNCi0J CWlmIChtX25ldyA9PSBOVUxMKSB7DQotCQkJbV9mcmVlbShtX2hlYWQpOw0K KwkJaWYgKG1faGVhZCA9PSBOVUxMKSB7DQogCQkJcHJpbnRmKCJ4bCVkOiBu byBtZW1vcnkgZm9yIHR4IGxpc3RcbiIsIHNjLT54bF91bml0KTsNCiAJCQly ZXR1cm4oMSk7DQogCQl9DQotCQltX2NvcHlkYXRhKG1faGVhZCwgMCwgbV9o ZWFkLT5tX3BrdGhkci5sZW4sCQ0KLQkJCQkJbXRvZChtX25ldywgY2FkZHJf dCkpOw0KLQkJbV9uZXctPm1fcGt0aGRyLmxlbiA9IG1fbmV3LT5tX2xlbiA9 IG1faGVhZC0+bV9wa3RoZHIubGVuOw0KLQkJbV9mcmVlbShtX2hlYWQpOw0K LQkJbV9oZWFkID0gbV9uZXc7DQotCQlmID0gJmMtPnhsX3B0ci0+eGxfZnJh Z1swXTsNCi0JCWVycm9yID0gYnVzX2RtYW1hcF9sb2FkKHNjLT54bF9tdGFn LCBjLT54bF9tYXAsDQotCQkgICAgbXRvZChtX25ldywgdm9pZCAqKSwgTUNM QllURVMsIHhsX2RtYV9tYXBfYWRkciwNCi0JCSAgICAmYmFkZHIsIDApOw0K Kw0KKwkJZXJyb3IgPSBidXNfZG1hbWFwX2xvYWRfbWJ1ZihzYy0+eGxfbXRh ZywgYy0+eGxfbWFwLA0KKwkJCW1faGVhZCwgeGxfZG1hX21hcF90eGJ1Ziwg Yy0+eGxfcHRyLCAwKTsNCiAJCWlmIChlcnJvcikgew0KLQkJCW1fZnJlZW0o bV9uZXcpOw0KKwkJCW1fZnJlZW0obV9oZWFkKTsNCiAJCQlwcmludGYoInhs JWQ6IGNhbid0IG1hcCBtYnVmIChlcnJvciAlZClcbiIsDQogCQkJICAgIHNj LT54bF91bml0LCBlcnJvcik7DQogCQkJcmV0dXJuKDEpOw0KIAkJfQ0KLQkJ Zi0+eGxfYWRkciA9IGh0b2xlMzIoYmFkZHIpOw0KLQkJZi0+eGxfbGVuID0g aHRvbGUzMihtX25ldy0+bV9sZW4gfCBYTF9MQVNUX0ZSQUcpOw0KLQkJYy0+ eGxfcHRyLT54bF9zdGF0dXMgPSBodG9sZTMyKG1fbmV3LT5tX2xlbik7DQot CQljLT54bF9wdHItPnhsX25leHQgPSAwOw0KIAl9DQogDQogCWlmIChzYy0+ eGxfdHlwZSA9PSBYTF9UWVBFXzkwNUIpIHsNCmRpZmYgLXUgLXIgL3Vzci9z cmMvc3lzLm9sZC9wY2kvaWZfeGxyZWcuaCAvdXNyL3NyYy9zeXMvcGNpL2lm X3hscmVnLmgNCi0tLSAvdXNyL3NyYy9zeXMub2xkL3BjaS9pZl94bHJlZy5o CVR1ZSBNYXIgMjUgMTk6NTA6NTIgMjAwMw0KKysrIC91c3Ivc3JjL3N5cy9w Y2kvaWZfeGxyZWcuaAlUdWUgTWFyIDI1IDIxOjI4OjUzIDIwMDMNCkBAIC00 MjAsNyArNDIwLDcgQEANCiANCiAjZGVmaW5lIFhMX0xBU1RfRlJBRwkJMHg4 MDAwMDAwMA0KIA0KLSNkZWZpbmUgWExfTUFYRlJBR1MJCTYzDQorI2RlZmlu ZSBYTF9NQVhGUkFHUwkJMTANCiAjZGVmaW5lIFhMX1JYX0xJU1RfQ05UCQkx MjgNCiAjZGVmaW5lIFhMX1RYX0xJU1RfQ05UCQkyNTYNCiAjZGVmaW5lIFhM X1JYX0xJU1RfU1oJCVhMX1JYX0xJU1RfQ05UICogc2l6ZW9mKHN0cnVjdCB4 bF9saXN0X29uZWZyYWcpDQpkaWZmIC11IC1yIC91c3Ivc3JjL3N5cy5vbGQv c3lzL21idWYuaCAvdXNyL3NyYy9zeXMvc3lzL21idWYuaA0KLS0tIC91c3Iv c3JjL3N5cy5vbGQvc3lzL21idWYuaAlUdWUgTWFyIDI1IDE5OjUwOjQ2IDIw MDMNCisrKyAvdXNyL3NyYy9zeXMvc3lzL21idWYuaAlXZWQgTWFyIDI2IDE5 OjU5OjI2IDIwMDMNCkBAIC00MzAsNiArNDMwLDcgQEANCiBzdHJ1Y3QJbWJ1 ZgkqbV9jb3B5bShzdHJ1Y3QgbWJ1ZiAqLCBpbnQsIGludCwgaW50KTsNCiBz dHJ1Y3QJbWJ1ZgkqbV9jb3B5cGFja2V0KHN0cnVjdCBtYnVmICosIGludCk7 DQogdm9pZAkJIG1fY29weV9wa3RoZHIoc3RydWN0IG1idWYgKiwgc3RydWN0 IG1idWYgKik7DQorc3RydWN0CW1idWYJKm1fZGVmcmFnKHN0cnVjdCBtYnVm ICosIGludCwgaW50KTsNCiBzdHJ1Y3QJbWJ1ZgkqbV9kZXZnZXQoY2hhciAq LCBpbnQsIGludCwgc3RydWN0IGlmbmV0ICosDQogCQkgICAgdm9pZCAoKiko Y2hhciAqLCBjYWRkcl90LCB1X2ludCkpOw0KIHN0cnVjdAltYnVmCSptX2R1 cChzdHJ1Y3QgbWJ1ZiAqLCBpbnQpOw0K --0-1494665756-1048750598=:7674--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030327013224.P7674>