Re: [PATCH v2 0/6] seqlock: seqcount_t call sites bugfixes

From: Daniel Vetter
Date: Thu Jun 04 2020 - 03:28:50 EST


On Wed, Jun 03, 2020 at 04:49:43PM +0200, Ahmed S. Darwish wrote:
> Hi,
>
> Since patch #7 and #8 from the series:
>
> [PATCH v1 00/25] seqlock: Extend seqcount API with associated locks
> https://lore.kernel.org/lkml/20200519214547.352050-1-a.darwish@xxxxxxxxxxxxx
>
> are now pending on the lockdep/x86 IRQ state tracking patch series:
>
> [PATCH 00/14] x86/entry: disallow #DB more and x86/entry lockdep/nmi
> https://lkml.kernel.org/r/20200529212728.795169701@xxxxxxxxxxxxx
>
> [PATCH v3 0/5] lockdep: Change IRQ state tracking to use per-cpu variables
> https://lkml.kernel.org/r/20200529213550.683440625@xxxxxxxxxxxxx
>
> This is a repost only of the seqcount_t call sites bugfixes that were on
> top of the seqlock patch series.
>
> These fixes are independent, and can thus be merged on their own. I'm
> reposting them now so they can at least hit -rc2 or -rc3.

I'm confused on what I should do with patch 6 here for dma-buf. Looks like
just a good cleanup/prep work, so I'd queue it for linux-next and 5.9, but
sounds like you want this in earlier. Do you need this in 5.8-rc for some
work meant for 5.9? Will this go in through some topic branch directly?
Should I apply it?

Patch itself lgtm, I'm just confused what I should do with it.
-Daniel

>
> Changelog-v2:
>
> - patch #1: Add a missing up_read() on netdev_get_name() error path
> exit. Thanks to Dan/kbuild-bot report.
>
> - patch #4: new patch, invalid preemptible context found by the new
> lockdep checks added in the seqlock series + kbuild-bot.
>
> Thanks,
>
> 8<--------------
>
> Ahmed S. Darwish (6):
> net: core: device_rename: Use rwsem instead of a seqcount
> net: phy: fixed_phy: Remove unused seqcount
> u64_stats: Document writer non-preemptibility requirement
> net: mdiobus: Disable preemption upon u64_stats update
> block: nr_sects_write(): Disable preemption on seqcount write
> dma-buf: Remove custom seqcount lockdep class key
>
> block/blk.h | 2 ++
> drivers/dma-buf/dma-resv.c | 9 +------
> drivers/net/phy/fixed_phy.c | 26 ++++++++------------
> drivers/net/phy/mdio_bus.c | 2 ++
> include/linux/dma-resv.h | 2 --
> include/linux/u64_stats_sync.h | 43 ++++++++++++++++++----------------
> net/core/dev.c | 40 ++++++++++++++-----------------
> 7 files changed, 56 insertions(+), 68 deletions(-)
>
> base-commit: 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162
> --
> 2.20.1

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch