Hi everyone, On Wed, Dec 21, 2022 at 04:25:19PM +0100, Markus Schneider-Pargmann wrote: > Hi Marc and everyone, > > this is the second part now. I know it is the merge window right now but > I am quite sure this won't be merged immediately anyways, so if you have > some time for some comments I would appreciate it. So it is still based > on v6.1-rc8 + the patches that got applied. > > I tried to do as small patches as possible so it is easier to > understand. The series changed a lot compared to v1 I sent so I didn't > call it v2. There are a lot of new patches as well. > > The series contains a few small fixes and optimizations at the > beginning, then adding coalescing support and at the end removing the > restrictions on the number of parallel transmits in flight. > > Note that the last patch 'Implement transmit submission coalescing' does > not perform well for me in a loopback testing setup. However I think it > may work well in normal testcases. I attached this mechanism to the > tx-frames coalescing option, let me know if this is the correct option. I introduced a bug in this series in the internal m_can driver (not peripheral) and maybe for older m_can versions as well. No need to review at the moment, I will send a new version once they are fixed. Best, Markus > > Best, > Markus > > part 1: > v1 - https://lore.kernel.org/lkml/20221116205308.2996556-1-msp@xxxxxxxxxxxx > v2 - https://lore.kernel.org/lkml/20221206115728.1056014-1-msp@xxxxxxxxxxxx > > Markus Schneider-Pargmann (18): > can: tcan4x5x: Remove reserved register 0x814 from writable table > can: tcan4x5x: Check size of mram configuration > can: m_can: Remove repeated check for is_peripheral > can: m_can: Always acknowledge all interrupts > can: m_can: Remove double interrupt enable > can: m_can: Disable unused interrupts > can: m_can: Keep interrupts enabled during peripheral read > can: m_can: Write transmit header and data in one transaction > can: m_can: Implement receive coalescing > can: m_can: Implement transmit coalescing > can: m_can: Add rx coalescing ethtool support > can: m_can: Add tx coalescing ethtool support > can: m_can: Cache tx putidx > can: m_can: Use the workqueue as queue > can: m_can: Introduce a tx_fifo_in_flight counter > can: m_can: Use tx_fifo_in_flight for netif_queue control > can: m_can: Implement BQL > can: m_can: Implement transmit submission coalescing > > drivers/net/can/m_can/m_can.c | 498 ++++++++++++++++++------ > drivers/net/can/m_can/m_can.h | 36 +- > drivers/net/can/m_can/tcan4x5x-core.c | 5 + > drivers/net/can/m_can/tcan4x5x-regmap.c | 1 - > 4 files changed, 418 insertions(+), 122 deletions(-) > > -- > 2.38.1 >