Skip site navigation (1)Skip section navigation (2)
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>