On Fri, May 31, 2019 at 12:19:15PM +0300, Nikolay Borisov wrote:
> >  {
> > -   WARN_ON(atomic_read(&eb->spinning_writers));
> > -   atomic_inc(&eb->spinning_writers);
> > +   WARN_ON(eb->spinning_writers);
> > +   eb->spinning_writers++;
> >  }
> >  
> >  static void btrfs_assert_spinning_writers_put(struct extent_buffer *eb)
> >  {
> > -   WARN_ON(atomic_read(&eb->spinning_writers) != 1);
> > -   atomic_dec(&eb->spinning_writers);
> > +   WARN_ON(eb->spinning_writers != 1);
> > +   eb->spinning_writers--;
> >  }
> >  
> >  static void btrfs_assert_no_spinning_writers(struct extent_buffer *eb)
> >  {
> > -   WARN_ON(atomic_read(&eb->spinning_writers));
> > +   WARN_ON(eb->spinning_writers);
> >  }
> 
> IMO longterm  it will be good if those debug functions contained
> lockdep_assert_held_exclusive/read macros for posterity.

The functions are not public and used only inside implementation of
locks, so the chances of wrong use are low so I don't see much value
adding it.

Reply via email to