From owner-freebsd-mobile@FreeBSD.ORG Wed May 3 07:38:34 2006 Return-Path: X-Original-To: mobile@freebsd.org Delivered-To: freebsd-mobile@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6C34F16A401 for ; Wed, 3 May 2006 07:38:34 +0000 (UTC) (envelope-from silby@silby.com) Received: from relay00.pair.com (relay00.pair.com [209.68.5.9]) by mx1.FreeBSD.org (Postfix) with SMTP id F048643D45 for ; Wed, 3 May 2006 07:38:33 +0000 (GMT) (envelope-from silby@silby.com) Received: (qmail 98288 invoked from network); 3 May 2006 07:38:32 -0000 Received: from unknown (HELO localhost) (unknown) by unknown with SMTP; 3 May 2006 07:38:32 -0000 X-pair-Authenticated: 209.68.2.70 Date: Wed, 3 May 2006 02:38:30 -0500 (CDT) From: Mike Silbersack To: =?ISO-8859-1?Q?Mikko_Ty=F6l=E4j=E4rvi?= In-Reply-To: <20060430234832.A19669@antec.home> Message-ID: <20060503023417.O816@odysseus.silby.com> References: <20060429102214.V9858@odysseus.silby.com> <20060430134609.U4092@antec.home> <20060430163316.B724@odysseus.silby.com> <20060430151724.N4092@antec.home> <20060501012306.G731@odysseus.silby.com> <20060430234832.A19669@antec.home> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-705614584-1146641910=:816" Cc: mobile@freebsd.org Subject: Latest if_bfe - I think it works! X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 May 2006 07:38:34 -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-705614584-1146641910=:816 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Ok, I got it working with an artificial 128MB limit. I had to fix two major issues: 1. It was requiring more bounce buffers than busdma was prepared to give it, so I reduced the size of the rings. 2. It was leaking bounce buffers whenever you transmitted a multi-fragment buffer, which pretty much means any non-ping packet. and scottl fixed #3 with rev 1.77 of busdma_machdep.c 3. busdma wasn't telling us when we ran out of bounce buffers. However, now that #1 and #2 are fixed, #3 shouldn't come into play ever, as far as I can tell. I'm writing this e-mail via ssh into pine on the machine which has the artificial 128MB limit set, looking at hw.busdma sysctl I can see that it's bouncing pages all over the place, so I can say that it seems to be good to me. Please test. Thanks, Mike "Silby" Silbersack --0-705614584-1146641910=:816 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=if_bfe.c-wip2.patch Content-Transfer-Encoding: BASE64 Content-ID: <20060503023830.L816@odysseus.silby.com> Content-Description: Content-Disposition: attachment; filename=if_bfe.c-wip2.patch ZGlmZiAtdSAtciAvdXNyL3NyYy9zeXMub2xkL2Rldi9iZmUvaWZfYmZlLmMg L3Vzci9zcmMvc3lzL2Rldi9iZmUvaWZfYmZlLmMNCi0tLSAvdXNyL3NyYy9z eXMub2xkL2Rldi9iZmUvaWZfYmZlLmMJTW9uIE1heSAgMSAwMDozMToxOCAy MDA2DQorKysgL3Vzci9zcmMvc3lzL2Rldi9iZmUvaWZfYmZlLmMJV2VkIE1h eSAgMyAwMjoyNDozNSAyMDA2DQpAQCAtMjk3LDcgKzI5OCw3IEBADQogCWJ6 ZXJvKHNjLT5iZmVfcnhfbGlzdCwgQkZFX1JYX0xJU1RfU0laRSk7DQogCWVy cm9yID0gYnVzX2RtYW1hcF9sb2FkKHNjLT5iZmVfcnhfdGFnLCBzYy0+YmZl X3J4X21hcCwNCiAJCQlzYy0+YmZlX3J4X2xpc3QsIHNpemVvZihzdHJ1Y3Qg YmZlX2Rlc2MpLA0KLQkJCWJmZV9kbWFfbWFwLCAmc2MtPmJmZV9yeF9kbWEs IDApOw0KKwkJCWJmZV9kbWFfbWFwLCAmc2MtPmJmZV9yeF9kbWEsIEJVU19E TUFfTk9XQUlUKTsNCiANCiAJaWYoZXJyb3IpDQogCQlyZXR1cm4gKEVOT01F TSk7DQpAQCAtMzEyLDcgKzMxMyw3IEBADQogDQogCWVycm9yID0gYnVzX2Rt YW1hcF9sb2FkKHNjLT5iZmVfdHhfdGFnLCBzYy0+YmZlX3R4X21hcCwNCiAJ CQlzYy0+YmZlX3R4X2xpc3QsIHNpemVvZihzdHJ1Y3QgYmZlX2Rlc2MpLA0K LQkJCWJmZV9kbWFfbWFwLCAmc2MtPmJmZV90eF9kbWEsIDApOw0KKwkJCWJm ZV9kbWFfbWFwLCAmc2MtPmJmZV90eF9kbWEsIEJVU19ETUFfTk9XQUlUKTsN CiAJaWYoZXJyb3IpDQogCQlyZXR1cm4gKEVOT01FTSk7DQogDQpAQCAtNTc0 LDYgKzU3NSw3IEBADQogCXN0cnVjdCBiZmVfZGVzYyAqZDsNCiAJc3RydWN0 IGJmZV9kYXRhICpyOw0KIAl1X2ludDMyX3QgY3RybDsNCisJaW50IGVycm9y Ow0KIA0KIAlpZiAoKGMgPCAwKSB8fCAoYyA+PSBCRkVfUlhfTElTVF9DTlQp KQ0KIAkJcmV0dXJuIChFSU5WQUwpOw0KQEAgLTU5NSw4ICs1OTcsMTAgQEAN CiAJc2MtPmJmZV9yeF9jbnQgPSBjOw0KIAlkID0gJnNjLT5iZmVfcnhfbGlz dFtjXTsNCiAJciA9ICZzYy0+YmZlX3J4X3JpbmdbY107DQotCWJ1c19kbWFt YXBfbG9hZChzYy0+YmZlX3RhZywgci0+YmZlX21hcCwgbXRvZChtLCB2b2lk ICopLA0KLQkJCU1DTEJZVEVTLCBiZmVfZG1hX21hcF9kZXNjLCBkLCAwKTsN CisJZXJyb3IgPSBidXNfZG1hbWFwX2xvYWQoc2MtPmJmZV90YWcsIHItPmJm ZV9tYXAsIG10b2QobSwgdm9pZCAqKSwNCisJCQlNQ0xCWVRFUywgYmZlX2Rt YV9tYXBfZGVzYywgZCwgQlVTX0RNQV9OT1dBSVQpOw0KKwlpZiAoZXJyb3Ip DQorCQlwcmludGYoIkVycm9yIEkgY2FuJ3QgaGFuZGxlISEhXG4iKTsNCiAJ YnVzX2RtYW1hcF9zeW5jKHNjLT5iZmVfdGFnLCByLT5iZmVfbWFwLCBCVVNf RE1BU1lOQ19QUkVXUklURSk7DQogDQogCWN0cmwgPSBFVEhFUl9NQVhfTEVO ICsgMzI7DQpAQCAtMTEwMiw4ICsxMTA2LDggQEANCiAJCQlpZnAtPmlmX29w YWNrZXRzKys7DQogCQkJbV9mcmVlbShyLT5iZmVfbWJ1Zik7DQogCQkJci0+ YmZlX21idWYgPSBOVUxMOw0KLQkJCWJ1c19kbWFtYXBfdW5sb2FkKHNjLT5i ZmVfdGFnLCByLT5iZmVfbWFwKTsNCiAJCX0NCisJCWJ1c19kbWFtYXBfdW5s b2FkKHNjLT5iZmVfdGFnLCByLT5iZmVfbWFwKTsNCiAJCXNjLT5iZmVfdHhf Y250LS07DQogCQlCRkVfSU5DKGksIEJGRV9UWF9MSVNUX0NOVCk7DQogCX0N CkBAIC0xMjQxLDEzICsxMjQ1LDE0IEBADQogfQ0KIA0KIHN0YXRpYyBpbnQN Ci1iZmVfZW5jYXAoc3RydWN0IGJmZV9zb2Z0YyAqc2MsIHN0cnVjdCBtYnVm ICptX2hlYWQsIHVfaW50MzJfdCAqdHhpZHgpDQorYmZlX2VuY2FwKHN0cnVj dCBiZmVfc29mdGMgKnNjLCBzdHJ1Y3QgbWJ1ZiAqKm1faGVhZCwgdV9pbnQz Ml90ICp0eGlkeCkNCiB7DQogCXN0cnVjdCBiZmVfZGVzYyAqZCA9IE5VTEw7 DQogCXN0cnVjdCBiZmVfZGF0YSAqciA9IE5VTEw7DQogCXN0cnVjdCBtYnVm CSptOw0KIAl1X2ludDMyX3QJICAgZnJhZywgY3VyLCBjbnQgPSAwOw0KIAlp bnQgY2hhaW5sZW4gPSAwOw0KKwlpbnQgZXJyb3I7DQogDQogCWlmKEJGRV9U WF9MSVNUX0NOVCAtIHNjLT5iZmVfdHhfY250IDwgMikNCiAJCXJldHVybiAo RU5PQlVGUyk7DQpAQCAtMTI1OCwxNiArMTI2MywxNiBAQA0KIAkgKiBieSBh bGwgcGFja2V0cywgd2UnbGwgbV9kZWZyYWcgbG9uZyBjaGFpbnMgc28gdGhh dCB0aGV5DQogCSAqIGRvIG5vdCB1c2UgdXAgdGhlIGVudGlyZSBsaXN0LCBl dmVuIGlmIHRoZXkgd291bGQgZml0Lg0KIAkgKi8NCi0JZm9yKG0gPSBtX2hl YWQ7IG0gIT0gTlVMTDsgbSA9IG0tPm1fbmV4dCkNCisJZm9yKG0gPSAqbV9o ZWFkOyBtICE9IE5VTEw7IG0gPSBtLT5tX25leHQpIHsNCiAJCWNoYWlubGVu Kys7DQotDQorCX0NCiANCiAJaWYgKChjaGFpbmxlbiA+IEJGRV9UWF9MSVNU X0NOVCAvIDQpIHx8DQogCQkJKChCRkVfVFhfTElTVF9DTlQgLSAoY2hhaW5s ZW4gKyBzYy0+YmZlX3R4X2NudCkpIDwgMikpIHsNCi0JCW0gPSBtX2RlZnJh ZyhtX2hlYWQsIE1fRE9OVFdBSVQpOw0KKwkJbSA9IG1fZGVmcmFnKCptX2hl YWQsIE1fRE9OVFdBSVQpOw0KIAkJaWYgKG0gPT0gTlVMTCkNCiAJCQlyZXR1 cm4gKEVOT0JVRlMpOw0KLQkJbV9oZWFkID0gbTsNCisJCSptX2hlYWQgPSBt Ow0KIAl9DQogDQogCS8qDQpAQCAtMTI3NSwxMSArMTI4MCwxMCBAQA0KIAkg KiB0aGUgZnJhZ21lbnQgcG9pbnRlcnMuIFN0b3Agd2hlbiB3ZSBydW4gb3V0 DQogCSAqIG9mIGZyYWdtZW50cyBvciBoaXQgdGhlIGVuZCBvZiB0aGUgbWJ1 ZiBjaGFpbi4NCiAJICovDQotCW0gPSBtX2hlYWQ7DQogCWN1ciA9IGZyYWcg PSAqdHhpZHg7DQogCWNudCA9IDA7DQogDQotCWZvcihtID0gbV9oZWFkOyBt ICE9IE5VTEw7IG0gPSBtLT5tX25leHQpIHsNCisJZm9yKG0gPSAqbV9oZWFk OyBtICE9IE5VTEw7IG0gPSBtLT5tX25leHQpIHsNCiAJCWlmKG0tPm1fbGVu ICE9IDApIHsNCiAJCQlpZigoQkZFX1RYX0xJU1RfQ05UIC0gKHNjLT5iZmVf dHhfY250ICsgY250KSkgPCAyKQ0KIAkJCQlyZXR1cm4gKEVOT0JVRlMpOw0K QEAgLTEyOTksOSArMTMwMywxMyBAQA0KIAkJCQkgKi8NCiAJCQkJZC0+YmZl X2N0cmwgfD0gQkZFX0RFU0NfRU9UOw0KIA0KLQkJCWJ1c19kbWFtYXBfbG9h ZChzYy0+YmZlX3RhZywNCisJCQllcnJvciA9IGJ1c19kbWFtYXBfbG9hZChz Yy0+YmZlX3RhZywNCiAJCQkgICAgci0+YmZlX21hcCwgbXRvZChtLCB2b2lk KiksIG0tPm1fbGVuLA0KLQkJCSAgICBiZmVfZG1hX21hcF9kZXNjLCBkLCAw KTsNCisJCQkgICAgYmZlX2RtYV9tYXBfZGVzYywgZCwgQlVTX0RNQV9OT1dB SVQpOw0KKwkJCWlmIChlcnJvcikgew0KKwkJCQlwcmludGYoImRtYW1hcF9s b2FkIGVycm9yLCBFTk9CVUZTXG4iKTsNCisJCQkJcmV0dXJuIChFTk9CVUZT KTsNCisJCQl9DQogCQkJYnVzX2RtYW1hcF9zeW5jKHNjLT5iZmVfdGFnLCBy LT5iZmVfbWFwLA0KIAkJCSAgICBCVVNfRE1BU1lOQ19QUkVXUklURSk7DQog DQpAQCAtMTMxNSw3ICsxMzIzLDcgQEANCiAJCXJldHVybiAoRU5PQlVGUyk7 DQogDQogCXNjLT5iZmVfdHhfbGlzdFtmcmFnXS5iZmVfY3RybCB8PSBCRkVf REVTQ19FT0Y7DQotCXNjLT5iZmVfdHhfcmluZ1tmcmFnXS5iZmVfbWJ1ZiA9 IG1faGVhZDsNCisJc2MtPmJmZV90eF9yaW5nW2ZyYWddLmJmZV9tYnVmID0g Km1faGVhZDsNCiAJYnVzX2RtYW1hcF9zeW5jKHNjLT5iZmVfdHhfdGFnLCBz Yy0+YmZlX3R4X21hcCwgQlVTX0RNQVNZTkNfUFJFV1JJVEUpOw0KIA0KIAkq dHhpZHggPSBjdXI7DQpAQCAtMTM2OCw3ICsxMzc2LDcgQEANCiAJCSAqIFBh Y2sgdGhlIGRhdGEgaW50byB0aGUgdHggcmluZy4gIElmIHdlIGRvbnQgaGF2 ZQ0KIAkJICogZW5vdWdoIHJvb20sIGxldCB0aGUgY2hpcCBkcmFpbiB0aGUg cmluZy4NCiAJCSAqLw0KLQkJaWYoYmZlX2VuY2FwKHNjLCBtX2hlYWQsICZp ZHgpKSB7DQorCQlpZihiZmVfZW5jYXAoc2MsICZtX2hlYWQsICZpZHgpKSB7 DQogCQkJSUZRX0RSVl9QUkVQRU5EKCZpZnAtPmlmX3NuZCwgbV9oZWFkKTsN CiAJCQlpZnAtPmlmX2Rydl9mbGFncyB8PSBJRkZfRFJWX09BQ1RJVkU7DQog CQkJYnJlYWs7DQpPbmx5IGluIC91c3Ivc3JjL3N5cy9kZXYvYmZlOiBpZl9i ZmUuYy5nb29kDQpPbmx5IGluIC91c3Ivc3JjL3N5cy9kZXYvYmZlOiBpZl9i ZmUuYy5vcmlnDQpPbmx5IGluIC91c3Ivc3JjL3N5cy9kZXYvYmZlOiBpZl9i ZmUuYy53aXANCk9ubHkgaW4gL3Vzci9zcmMvc3lzL2Rldi9iZmU6IGlmX2Jm ZS5jLndpcDINCmRpZmYgLXUgLXIgL3Vzci9zcmMvc3lzLm9sZC9kZXYvYmZl L2lmX2JmZXJlZy5oIC91c3Ivc3JjL3N5cy9kZXYvYmZlL2lmX2JmZXJlZy5o DQotLS0gL3Vzci9zcmMvc3lzLm9sZC9kZXYvYmZlL2lmX2JmZXJlZy5oCVRo dSBBcHIgMjcgMDE6MDk6MDcgMjAwNg0KKysrIC91c3Ivc3JjL3N5cy9kZXYv YmZlL2lmX2JmZXJlZy5oCVdlZCBNYXkgIDMgMDI6MTY6NDIgMjAwNg0KQEAg LTQyNyw4ICs0MjcsOCBAQA0KICNkZWZpbmUgQkZFX1JYX1JJTkdfU0laRSAg ICAgICAgNTEyDQogI2RlZmluZSBCRkVfVFhfUklOR19TSVpFICAgICAgICA1 MTINCiAjZGVmaW5lIEJGRV9MSU5LX0RPV04gICAgICAgICAgIDUNCi0jZGVm aW5lIEJGRV9UWF9MSVNUX0NOVCAgICAgICAgIDUxMQ0KLSNkZWZpbmUgQkZF X1JYX0xJU1RfQ05UICAgICAgICAgNTExDQorI2RlZmluZSBCRkVfVFhfTElT VF9DTlQgICAgICAgICAxMjgNCisjZGVmaW5lIEJGRV9SWF9MSVNUX0NOVCAg ICAgICAgIDEyOA0KICNkZWZpbmUgQkZFX1RYX0xJU1RfU0laRSAgICAgICAg QkZFX1RYX0xJU1RfQ05UICogc2l6ZW9mKHN0cnVjdCBiZmVfZGVzYykNCiAj ZGVmaW5lIEJGRV9SWF9MSVNUX1NJWkUgICAgICAgIEJGRV9SWF9MSVNUX0NO VCAqIHNpemVvZihzdHJ1Y3QgYmZlX2Rlc2MpDQogI2RlZmluZSBCRkVfUlhf T0ZGU0VUICAgICAgICAgICAzMA0K --0-705614584-1146641910=:816--