forked from Ivasoft/openwrt
generic: drop support for get_port_stats() on ar8xxx
The implementation is not efficient on ar8xxx switches. It triggers high
CPU load and degrades device performance.
The high CPU load has been traced down to the ar8xxx_reg_wait() call in
ar8xxx_mib_op(), which has to usleep_range() till the MIB busy flag set
by the request to update the MIB counter is cleared.
This commit removes the get_port_stats() code introduced in 4d8a66d and
leaves a note for future hacker's beware.
Fixes: FS#1004
Signed-off-by: Thibaut VARENE <hacks@slashdirt.org>
This commit is contained in:
committed by
Mathias Kresin
parent
fd84ecda7d
commit
eff3549c58
@@ -1411,7 +1411,16 @@ static const struct switch_dev_ops ar8327_sw_ops = {
|
||||
.apply_config = ar8327_sw_hw_apply,
|
||||
.reset_switch = ar8xxx_sw_reset_switch,
|
||||
.get_port_link = ar8xxx_sw_get_port_link,
|
||||
/* The following op is disabled as it hogs the CPU and degrades performance.
|
||||
An implementation has been attempted in 4d8a66d but reading MIB data is slow
|
||||
on ar8xxx switches.
|
||||
|
||||
The high CPU load has been traced down to the ar8xxx_reg_wait() call in
|
||||
ar8xxx_mib_op(), which has to usleep_range() till the MIB busy flag set by
|
||||
the request to update the MIB counter is cleared. */
|
||||
#if 0
|
||||
.get_port_stats = ar8xxx_sw_get_port_stats,
|
||||
#endif
|
||||
};
|
||||
|
||||
const struct ar8xxx_chip ar8327_chip = {
|
||||
|
||||
Reference in New Issue
Block a user