mirror of
https://github.com/freebsd/freebsd-src
synced 2024-11-05 18:22:52 +00:00
Enable round-robin arbitration between transmit and receive unit
in the 21143, instead of giving priority to the receive unit. This gives a 10-15% performance improvement in the forwarding rate under heavy load. Reviewed-by: Bill Paul
This commit is contained in:
parent
a4c0058691
commit
935fe01014
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=85571
2 changed files with 10 additions and 0 deletions
|
@ -3057,6 +3057,11 @@ static void dc_init(xsc)
|
|||
CSR_WRITE_4(sc, DC_BUSCTL, 0);
|
||||
else
|
||||
CSR_WRITE_4(sc, DC_BUSCTL, DC_BUSCTL_MRME|DC_BUSCTL_MRLE);
|
||||
/*
|
||||
* Evenly share the bus between receive and transmit process.
|
||||
*/
|
||||
if (DC_IS_INTEL(sc))
|
||||
DC_SETBIT(sc, DC_BUSCTL, DC_BUSCTL_ARBITRATION);
|
||||
if (DC_IS_DAVICOM(sc) || DC_IS_INTEL(sc)) {
|
||||
DC_SETBIT(sc, DC_BUSCTL, DC_BURSTLEN_USECA);
|
||||
} else {
|
||||
|
|
|
@ -3057,6 +3057,11 @@ static void dc_init(xsc)
|
|||
CSR_WRITE_4(sc, DC_BUSCTL, 0);
|
||||
else
|
||||
CSR_WRITE_4(sc, DC_BUSCTL, DC_BUSCTL_MRME|DC_BUSCTL_MRLE);
|
||||
/*
|
||||
* Evenly share the bus between receive and transmit process.
|
||||
*/
|
||||
if (DC_IS_INTEL(sc))
|
||||
DC_SETBIT(sc, DC_BUSCTL, DC_BUSCTL_ARBITRATION);
|
||||
if (DC_IS_DAVICOM(sc) || DC_IS_INTEL(sc)) {
|
||||
DC_SETBIT(sc, DC_BUSCTL, DC_BURSTLEN_USECA);
|
||||
} else {
|
||||
|
|
Loading…
Reference in a new issue