Date: Tue, 17 Sep 2002 10:23:51 +0200 (CEST) From: Harti Brandt <brandt@fokus.gmd.de> To: Poul-Henning Kamp <phk@critter.freebsd.dk> Cc: Archie Cobbs <archie@dellroad.org>, Bruce Evans <bde@zeta.org.au>, Josef Karthauser <joe@FreeBSD.ORG>, "David O'Brien" <obrien@FreeBSD.ORG>, <cvs-committers@FreeBSD.ORG>, <cvs-all@FreeBSD.ORG> Subject: Re: cvs commit: src/sys/kern kern_timeout.c Message-ID: <20020917100940.U812-200000@beagle.fokus.gmd.de> In-Reply-To: <84439.1032204014@critter.freebsd.dk>
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-347384811-1032251031=:812 Content-Type: TEXT/PLAIN; charset=US-ASCII Hi, I just took the opportunity and to analyze the xl_mii_readreg routine that is one of the timeout hogs (through mii_tick). Instead of making DELAY(1) to do the right thing (which seems a rather complex task) I tried to find a local solution and did the following: (1) replaced all calls to DELAY(1) with a bus_space_read_4() on a card address. Because there are 184 DELAY(1) calls in each xl_mii_readreg each of which takes a mean of 8.5usecs this cuts down the overall time from 1.8msec to around 320usecs. (2) two macros MII_SET and MII_CLR are used to fiddle with the MDIO bits. This looks fine from an aesthetic standpoint of view, but adds some dozens of additional operations. I introduced a MII_SETCLR macro which can set and clear bits at the same time. This reduces the readreg time further to 250usecs. Because each mii_tick takes approx. 4 readregs this is still a lot, but better than before. Perhaps you could have a look at the patch that I have attached. Regards, harti -- harti brandt, http://www.fokus.gmd.de/research/cc/cats/employees/hartmut.brandt/private brandt@fokus.gmd.de, brandt@fokus.fhg.de --0-347384811-1032251031=:812 Content-Type: TEXT/PLAIN; charset=US-ASCII; name="if_xl.diff" Content-Transfer-Encoding: BASE64 Content-ID: <20020917102351.M812@beagle.fokus.gmd.de> Content-Description: Content-Disposition: attachment; filename="if_xl.diff" SW5kZXg6IGlmX3hsLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBm aWxlOiAvdXNyL25jdnMvc3JjL3N5cy9wY2kvaWZfeGwuYyx2DQpyZXRyaWV2 aW5nIHJldmlzaW9uIDEuMTA1DQpkaWZmIC11IC1yMS4xMDUgaWZfeGwuYw0K LS0tIGlmX3hsLmMJMjQgQXVnIDIwMDIgMDA6MDI6MDMgLTAwMDAJMS4xMDUN CisrKyBpZl94bC5jCTE2IFNlcCAyMDAyIDE0OjAwOjU1IC0wMDAwDQpAQCAt MzU2LDYgKzM1NiwxNiBAQA0KIAlDU1JfV1JJVEVfMihzYywgWExfVzRfUEhZ X01HTVQsCQkJXA0KIAkJQ1NSX1JFQURfMihzYywgWExfVzRfUEhZX01HTVQp ICYgfngpDQogDQorI2RlZmluZSBNSUlfU0VUQ0xSKHgseSkJCQkJCVwNCisJ Q1NSX1dSSVRFXzIoc2MsIFhMX1c0X1BIWV9NR01ULAkJCVwNCisJCShDU1Jf UkVBRF8yKHNjLCBYTF9XNF9QSFlfTUdNVCkgJiB+eSkgfCB4KQ0KKw0KK3N0 YXRpYyBfX2lubGluZSB2b2lkDQoreGxfbWlpX2RlbGF5KHN0cnVjdCB4bF9z b2Z0YyAqc2MsIHVfaW50IGFkZHIpDQorew0KKwlDU1JfUkVBRF80KHNjLCBh ZGRyKTsNCit9DQorDQogLyoNCiAgKiBTeW5jIHRoZSBQSFlzIGJ5IHNldHRp bmcgZGF0YSBiaXQgYW5kIHN0cm9iaW5nIHRoZSBjbG9jayAzMiB0aW1lcy4N CiAgKi8NCkBAIC0zNzAsOSArMzgwLDkgQEANCiANCiAJZm9yIChpID0gMDsg aSA8IDMyOyBpKyspIHsNCiAJCU1JSV9TRVQoWExfTUlJX0NMSyk7DQotCQlE RUxBWSgxKTsNCisJCXhsX21paV9kZWxheShzYywgWExfVzRfUEhZX01HTVQp Ow0KIAkJTUlJX0NMUihYTF9NSUlfQ0xLKTsNCi0JCURFTEFZKDEpOw0KKwkJ eGxfbWlpX2RlbGF5KHNjLCBYTF9XNF9QSFlfTUdNVCk7DQogCX0NCiANCiAJ cmV0dXJuOw0KQEAgLTM5MCwxOCArNDAwLDE4IEBADQogCWludAkJCWk7DQog DQogCVhMX1NFTF9XSU4oNCk7DQotCU1JSV9DTFIoWExfTUlJX0NMSyk7DQor CS8qIFhYWCBNSUlfQ0xSKFhMX01JSV9DTEspOyAqLw0KIA0KKwkvKiBYWFgg Y291bGQgam9pbiB0aGUgTUlJX1NFVC9DTFIgb2YgZGF0YSB3aXRoIHRoZSBD TFIgb2YgdGhlIGNsb2NrICovDQogCWZvciAoaSA9ICgweDEgPDwgKGNudCAt IDEpKTsgaTsgaSA+Pj0gMSkgew0KICAgICAgICAgICAgICAgICBpZiAoYml0 cyAmIGkpIHsNCi0JCQlNSUlfU0VUKFhMX01JSV9EQVRBKTsNCisJCQlNSUlf U0VUQ0xSKFhMX01JSV9EQVRBLCBYTF9NSUlfQ0xLKTsNCiAgICAgICAgICAg ICAgICAgfSBlbHNlIHsNCi0JCQlNSUlfQ0xSKFhMX01JSV9EQVRBKTsNCisJ CQlNSUlfQ0xSKChYTF9NSUlfREFUQSB8IFhMX01JSV9DTEspKTsNCiAgICAg ICAgICAgICAgICAgfQ0KLQkJREVMQVkoMSk7DQotCQlNSUlfQ0xSKFhMX01J SV9DTEspOw0KLQkJREVMQVkoMSk7DQorCQl4bF9taWlfZGVsYXkoc2MsIFhM X1c0X1BIWV9NR01UKTsNCiAJCU1JSV9TRVQoWExfTUlJX0NMSyk7DQorCQl4 bF9taWlfZGVsYXkoc2MsIFhMX1c0X1BIWV9NR01UKTsNCiAJfQ0KIH0NCiAN CkBAIC00MzMsMTEgKzQ0Myw2IEBADQogCVhMX1NFTF9XSU4oNCk7DQogDQog CUNTUl9XUklURV8yKHNjLCBYTF9XNF9QSFlfTUdNVCwgMCk7DQotCS8qDQot IAkgKiBUdXJuIG9uIGRhdGEgeG1pdC4NCi0JICovDQotCU1JSV9TRVQoWExf TUlJX0RJUik7DQotDQogCXhsX21paV9zeW5jKHNjKTsNCiANCiAJLyoNCkBA IC00NDgsMjAgKzQ1MywyMCBAQA0KIAl4bF9taWlfc2VuZChzYywgZnJhbWUt Pm1paV9waHlhZGRyLCA1KTsNCiAJeGxfbWlpX3NlbmQoc2MsIGZyYW1lLT5t aWlfcmVnYWRkciwgNSk7DQogDQotCS8qIElkbGUgYml0ICovDQotCU1JSV9D TFIoKFhMX01JSV9DTEt8WExfTUlJX0RBVEEpKTsNCi0JREVMQVkoMSk7DQot CU1JSV9TRVQoWExfTUlJX0NMSyk7DQotCURFTEFZKDEpOw0KLQ0KIAkvKiBU dXJuIG9mZiB4bWl0LiAqLw0KIAlNSUlfQ0xSKFhMX01JSV9ESVIpOw0KIA0K KwkvKiB0dXJuYXJvdW5kICovDQorCU1JSV9DTFIoKFhMX01JSV9DTEt8WExf TUlJX0RBVEEpKTsNCisJeGxfbWlpX2RlbGF5KHNjLCBYTF9XNF9QSFlfTUdN VCk7DQorCU1JSV9TRVQoWExfTUlJX0NMSyk7DQorCXhsX21paV9kZWxheShz YywgWExfVzRfUEhZX01HTVQpOw0KKw0KIAkvKiBDaGVjayBmb3IgYWNrICov DQogCU1JSV9DTFIoWExfTUlJX0NMSyk7DQotCURFTEFZKDEpOw0KKwl4bF9t aWlfZGVsYXkoc2MsIFhMX1c0X1BIWV9NR01UKTsNCiAJTUlJX1NFVChYTF9N SUlfQ0xLKTsNCi0JREVMQVkoMSk7DQorCXhsX21paV9kZWxheShzYywgWExf VzRfUEhZX01HTVQpOw0KIAlhY2sgPSBDU1JfUkVBRF8yKHNjLCBYTF9XNF9Q SFlfTUdNVCkgJiBYTF9NSUlfREFUQTsNCiANCiAJLyoNCkBAIC00NzEsMzEg KzQ3NiwyOSBAQA0KIAlpZiAoYWNrKSB7DQogCQlmb3IoaSA9IDA7IGkgPCAx NjsgaSsrKSB7DQogCQkJTUlJX0NMUihYTF9NSUlfQ0xLKTsNCi0JCQlERUxB WSgxKTsNCisJCQl4bF9taWlfZGVsYXkoc2MsIFhMX1c0X1BIWV9NR01UKTsN CiAJCQlNSUlfU0VUKFhMX01JSV9DTEspOw0KLQkJCURFTEFZKDEpOw0KKwkJ CXhsX21paV9kZWxheShzYywgWExfVzRfUEhZX01HTVQpOw0KIAkJfQ0KIAkJ Z290byBmYWlsOw0KIAl9DQogDQogCWZvciAoaSA9IDB4ODAwMDsgaTsgaSA+ Pj0gMSkgew0KIAkJTUlJX0NMUihYTF9NSUlfQ0xLKTsNCi0JCURFTEFZKDEp Ow0KLQkJaWYgKCFhY2spIHsNCi0JCQlpZiAoQ1NSX1JFQURfMihzYywgWExf VzRfUEhZX01HTVQpICYgWExfTUlJX0RBVEEpDQotCQkJCWZyYW1lLT5taWlf ZGF0YSB8PSBpOw0KLQkJCURFTEFZKDEpOw0KLQkJfQ0KKwkJeGxfbWlpX2Rl bGF5KHNjLCBYTF9XNF9QSFlfTUdNVCk7DQorCQlpZiAoQ1NSX1JFQURfMihz YywgWExfVzRfUEhZX01HTVQpICYgWExfTUlJX0RBVEEpDQorCQkJZnJhbWUt Pm1paV9kYXRhIHw9IGk7DQogCQlNSUlfU0VUKFhMX01JSV9DTEspOw0KLQkJ REVMQVkoMSk7DQorCQl4bF9taWlfZGVsYXkoc2MsIFhMX1c0X1BIWV9NR01U KTsNCiAJfQ0KIA0KIGZhaWw6DQogDQorCS8qIElkbGUgYml0ICovDQogCU1J SV9DTFIoWExfTUlJX0NMSyk7DQotCURFTEFZKDEpOw0KKwl4bF9taWlfZGVs YXkoc2MsIFhMX1c0X1BIWV9NR01UKTsNCiAJTUlJX1NFVChYTF9NSUlfQ0xL KTsNCi0JREVMQVkoMSk7DQorCXhsX21paV9kZWxheShzYywgWExfVzRfUEhZ X01HTVQpOw0KIA0KIAlYTF9VTkxPQ0soc2MpOw0KIA0KQEAgLTU0NCw5ICs1 NDcsOSBAQA0KIA0KIAkvKiBJZGxlIGJpdC4gKi8NCiAJTUlJX1NFVChYTF9N SUlfQ0xLKTsNCi0JREVMQVkoMSk7DQorCXhsX21paV9kZWxheShzYywgWExf VzRfUEhZX01HTVQpOw0KIAlNSUlfQ0xSKFhMX01JSV9DTEspOw0KLQlERUxB WSgxKTsNCisJeGxfbWlpX2RlbGF5KHNjLCBYTF9XNF9QSFlfTUdNVCk7DQog DQogCS8qDQogCSAqIFR1cm4gb2ZmIHhtaXQuDQo= --0-347384811-1032251031=:812-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020917100940.U812-200000>