mirror of
https://github.com/torvalds/linux
synced 2024-10-09 21:05:10 +00:00
91e9f2c0e7
Userspace can signal with CAN_CTRLMODE_BERR_REPORTING whether they need reporting of bus errors (CAN_ERR_BUSERROR) or not. However, xilinx_can driver currently always sends CAN_ERR_BUSERROR frames to userspace on bus errors. To improve performance on error conditions when bus error reporting is not needed, avoid sending CAN_ERR_BUSERROR frames unless requested via CAN_CTRLMODE_BERR_REPORTING. The error interrupt is still kept enabled as there is no dedicated state transition interrupt, but just disabling error frame submission still yields a significant performance improvement. In a simple test with continuous bus errors and no userspace programs reading/writing CAN I saw system CPU load reduced by 1/3. Tested on a ZynqMP board with CAN-FD v1.0. Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de> |
||
---|---|---|
.. | ||
c_can | ||
cc770 | ||
ifi_canfd | ||
m_can | ||
mscan | ||
peak_canfd | ||
rcar | ||
sja1000 | ||
softing | ||
spi | ||
usb | ||
at91_can.c | ||
dev.c | ||
flexcan.c | ||
grcan.c | ||
janz-ican3.c | ||
Kconfig | ||
kvaser_pciefd.c | ||
led.c | ||
Makefile | ||
pch_can.c | ||
rx-offload.c | ||
slcan.c | ||
sun4i_can.c | ||
ti_hecc.c | ||
vcan.c | ||
vxcan.c | ||
xilinx_can.c |