diff options
author | Anssi Hannula <anssi.hannula@bitwise.fi> | 2019-10-04 11:02:56 +0200 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2019-11-11 21:58:09 +0100 |
commit | 91e9f2c0e7a49ec6a6673b4d97d535b838396fc9 (patch) | |
tree | 8e4946a42f62965160ed9fde7b9ba8ed05bee328 /drivers/vfio | |
parent | can: xilinx_can: fix checkpatch warnings (diff) | |
download | linux-91e9f2c0e7a49ec6a6673b4d97d535b838396fc9.tar.xz linux-91e9f2c0e7a49ec6a6673b4d97d535b838396fc9.zip |
can: xilinx_can: avoid non-requested bus error frames
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>
Diffstat (limited to 'drivers/vfio')
0 files changed, 0 insertions, 0 deletions