Re: [PATCH 00/12] btrfs: async discard follow up

David Sterba
2020-01-06T17:37:38Z

On Mon, Jan 06, 2020 at 12:14:50PM -0500, Dennis Zhou wrote:
> On Mon, Jan 06, 2020 at 04:25:42PM +0100, David Sterba wrote:
> > On Thu, Jan 02, 2020 at 04:26:34PM -0500, Dennis Zhou wrote:
> > > Dave applied 1-12 from v6 [1]. This is a follow up cleaning up the
> > > remaining 10 patches adding 2 more to deal with a rare -1 [2] that I
> > > haven't quite figured out how to repro. This is also available at [3].
> > >
> > > This series is on top of btrfs-devel#misc-next-with-discard-v6 0c7be920bd7d.
> > >
> > > [1] https://lore.kernel.org/linux-btrfs/cover.1576195673.git.dennis@kernel.org/
> > > [2] https://lore.kernel.org/linux-btrfs/20191217145541.GE3929@suse.cz/
> > > [3] https://git.kernel.org/pub/scm/linux/kernel/git/dennis/misc.git/log/?h=async-discard
> > >
> > > Dennis Zhou (12):
> > > btrfs: calculate discard delay based on number of extents
> > > btrfs: add bps discard rate limit for async discard
> > > btrfs: limit max discard size for async discard
> > > btrfs: make max async discard size tunable
> > > btrfs: have multiple discard lists
> > > btrfs: only keep track of data extents for async discard
> > > btrfs: keep track of discard reuse stats
> > > btrfs: add async discard header
> > > btrfs: increase the metadata allowance for the free_space_cache
> > > btrfs: make smaller extents more likely to go into bitmaps
> > > btrfs: ensure removal of discardable_* in free_bitmap()
> > > btrfs: add correction to handle -1 edge case in async discard
> >
> > I found this lockdep warning on the machine but can't tell what was the
> > exact load at the time. I did a few copy/delete/balance and git checkout
> > rounds, similar to the first testing loads. The branch tested was
> > basically current misc-next:
>
> I've definitely ran into an mmap_sem circular lockdep warning before,
> but I believe at the time I was able to repro it without my patches on
> top.
>
> Besides that, I'm not sure how my series would be the trigger for this.
> I'll take a closer look today.

Thanks, I don't remember the exact lockdep report, though I've seen some
transient mmap_sem warnings but nothing recent. What's weird is the
sr_mutex, that's from scsi cdrom. There is one on the machine so I guess
this is machine-specific and not related to the patchset.