Subject: Re: [PATCH V4 07/19] net: ks8851: Remove ks8851_rdreg32()

From: Andrew Lunn <[email-masked]>
Date: Mon, 20 Apr 2020 17:50:57 +0200

On Mon, Apr 20, 2020 at 05:38:16PM +0200, Marek Vasut wrote:
> On 4/20/20 4:44 PM, Lukas Wunner wrote:
> > On Mon, Apr 20, 2020 at 04:24:05PM +0200, Marek Vasut wrote:
> >> On 4/20/20 4:20 PM, Lukas Wunner wrote:
> >>> On Mon, Apr 20, 2020 at 04:12:59PM +0200, Marek Vasut wrote:
> >>>> On 4/20/20 4:07 PM, Lukas Wunner wrote:
> >>>>> On Tue, Apr 14, 2020 at 08:20:17PM +0200, Marek Vasut wrote:
> >>>>>> The ks8851_rdreg32() is used only in one place, to read two registers
> >>>>>> using a single read. To make it easier to support 16-bit accesses via
> >>>>>> parallel bus later on, replace this single read with two 16-bit reads
> >>>>>> from each of the registers and drop the ks8851_rdreg32() altogether.
> >>>>>>
> >>>>>> If this has noticeable performance impact on the SPI variant of KS8851,
> >>>>>> then we should consider using regmap to abstract the SPI and parallel
> >>>>>> bus options and in case of SPI, permit regmap to merge register reads
> >>>>>> of neighboring registers into single, longer, read.
> >>>>>
> >>>>> Bisection has shown this patch to be the biggest cause of the performance
> >>>>> regression introduced by this series:  Latency increases by about 9 usec.
> >>>>
> >>>> Just for completeness, did you perform this bisect on current linux-next
> >>>> without any patches except this series OR your patched rpi downstream
> >>>> vendor tree Linux 4.19 with preempt-rt patch applied ?
> >>>
> >>> The latter because latency without CONFIG_PREEMPT_RT_FULL=y is too imprecise
> >>> to really see the difference and that's the configuration we care about.
> >>
> >> Why am I not able to see the same on the RPi3 then ?
> >> How can I replicate this observation ?
> > 
> > Compile this branch with CONFIG_PREEMPT_RT_FULL=y:
> > 
> > https://github.com/l1k/linux/commits/revpi-4.19-marek-v4
> > 
> > Alternatively, download this file:
> > 
> > http://wunner.de/ks8851-marekv4.tar
> > 
> > Install the "raspberrypi-kernel" deb-package included in the tarball on a
> > stock Raspbian image and copy one of the included ks8851.ko to:
> > /lib/modules/4.19.95-rt38-v7+/kernel/drivers/net/ethernet/micrel
> 
> Why don't you rather try to replicate this problem in linux-next?

Hi Lukas

4.19 is dead in terms of development work. It is now over 18 months
old. All mainline development work is done against either the last
-rc1 kernel, or a subsystems specific 'for-next' branch.

Please test Marek patches against net-next. If there are performance
regressions with net-next, they should be addressed, but mainline does
not care about some random long time dead tree.

    Andrew