[Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs handlers vs. removal with lockdep"
Saarinen, Jani
jani.saarinen at intel.com
Thu Dec 7 07:29:57 UTC 2023
> -----Original Message-----
> From: De Marchi, Lucas <lucas.demarchi at intel.com>
> Sent: Wednesday, December 6, 2023 11:33 PM
> To: Saarinen, Jani <jani.saarinen at intel.com>
> Cc: Shankar, Uma <uma.shankar at intel.com>; Borah, Chaitanya Kumar
> <chaitanya.kumar.borah at intel.com>; intel-gfx at lists.freedesktop.org; Vivi, Rodrigo
> <rodrigo.vivi at intel.com>
> Subject: Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs
> handlers vs. removal with lockdep"
>
> On Wed, Dec 06, 2023 at 07:41:04PM +0000, Jani Saarinen wrote:
> >Hi,
> >> -----Original Message-----
> >> From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf
> >> Of Shankar, Uma
> >> Sent: Wednesday, December 6, 2023 1:05 PM
> >> To: Borah, Chaitanya Kumar <chaitanya.kumar.borah at intel.com>; intel-
> >> gfx at lists.freedesktop.org
> >> Subject: Re: [Intel-gfx] [topic/core-for-CI] Revert "debugfs:
> >> annotate debugfs handlers vs. removal with lockdep"
> >>
> >>
> >>
> >> > -----Original Message-----
> >> > From: Intel-gfx <intel-gfx-bounces at lists.freedesktop.org> On Behalf
> >> > Of Chaitanya Kumar Borah
> >> > Sent: Wednesday, December 6, 2023 12:17 PM
> >> > To: intel-gfx at lists.freedesktop.org
> >> > Subject: [Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate
> >> > debugfs handlers vs. removal with lockdep"
> >> >
> >> > From: Johannes Berg <johannes.berg at intel.com>
> >> >
> >> > This reverts commit f4acfcd4deb1 ("debugfs: annotate debugfs handlers vs.
> >> > removal with lockdep"), it appears to have false positives and
> >> > really shouldn't have been in the -rc series with the fixes anyway.
> >>
> >> Acked-by: Uma Shankar <uma.shankar at intel.com>
> >>
> >> Hi Chaitanya,
> >> Please get the full CI run executed with this change, once its green we can plan
> merge.
> >Just commented on "issues" (no real issues ) on BAT and asked to re-report but we
> really should use sometimes by-pass shards when we see regression on this
> magnitude.
> >This has big impact on core/gem tests
> >https://intel-gfx-ci.01.org/tree/drm-tip/index.html?testfilter=module%7
> >Cgem%7Ccore Even on module load. I am leaning to break process and not
> >wait to Full CI if someone who has merge rights (eg @Vivi, Rodrigo, @De Marchi,
> Lucas) agree here?
>
> I think this is the convincing link:
> https://intel-gfx-ci.01.org/tree/drm-
> tip/Patchwork_127359v2/index.html?testfilter=module%7Cgem%7Ccore
>
> Applied with ack on irc by Rodrigo.
Thank you!
>
> Lucas De Marchi
>
> >
> >Br,
> >Jani
> >>
> >> Regards,
> >> Uma Shankar
> >>
> >> > Link:https://patchwork.kernel.org/project/linux-
> >> > fsdevel/patch/20231202114936.fd55431ab160.I911aa53abeeca138126f69
> >> > 0d383a89b13eb05667 at changeid/
> >> > Reference: https://gitlab.freedesktop.org/drm/intel/-/issues/9802
> >> > Signed-off-by: Johannes Berg <johannes.berg at intel.com>
> >> > Acked-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
> >> > ---
> >> > fs/debugfs/file.c | 10 ----------
> >> > fs/debugfs/inode.c | 7 -------
> >> > fs/debugfs/internal.h | 6 ------
> >> > 3 files changed, 23 deletions(-)
> >> >
> >> > diff --git a/fs/debugfs/file.c b/fs/debugfs/file.c index
> >> > a5ade8c16375..5063434be0fc 100644
> >> > --- a/fs/debugfs/file.c
> >> > +++ b/fs/debugfs/file.c
> >> > @@ -108,12 +108,6 @@ int debugfs_file_get(struct dentry *dentry)
> >> > kfree(fsd);
> >> > fsd = READ_ONCE(dentry->d_fsdata);
> >> > }
> >> > -#ifdef CONFIG_LOCKDEP
> >> > - fsd->lock_name = kasprintf(GFP_KERNEL, "debugfs:%pd",
> >> > dentry);
> >> > - lockdep_register_key(&fsd->key);
> >> > - lockdep_init_map(&fsd->lockdep_map, fsd->lock_name ?:
> >> > "debugfs",
> >> > - &fsd->key, 0);
> >> > -#endif
> >> > INIT_LIST_HEAD(&fsd->cancellations);
> >> > mutex_init(&fsd->cancellations_mtx);
> >> > }
> >> > @@ -132,8 +126,6 @@ int debugfs_file_get(struct dentry *dentry)
> >> > if (!refcount_inc_not_zero(&fsd->active_users))
> >> > return -EIO;
> >> >
> >> > - lock_map_acquire_read(&fsd->lockdep_map);
> >> > -
> >> > return 0;
> >> > }
> >> > EXPORT_SYMBOL_GPL(debugfs_file_get);
> >> > @@ -151,8 +143,6 @@ void debugfs_file_put(struct dentry *dentry) {
> >> > struct debugfs_fsdata *fsd = READ_ONCE(dentry->d_fsdata);
> >> >
> >> > - lock_map_release(&fsd->lockdep_map);
> >> > -
> >> > if (refcount_dec_and_test(&fsd->active_users))
> >> > complete(&fsd->active_users_drained);
> >> > }
> >> > diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c index
> >> > e4e7fe1bd9fb..034a617cb1a5 100644
> >> > --- a/fs/debugfs/inode.c
> >> > +++ b/fs/debugfs/inode.c
> >> > @@ -243,10 +243,6 @@ static void debugfs_release_dentry(struct
> >> > dentry
> >> > *dentry)
> >> >
> >> > /* check it wasn't a dir (no fsdata) or automount (no real_fops) */
> >> > if (fsd && fsd->real_fops) {
> >> > -#ifdef CONFIG_LOCKDEP
> >> > - lockdep_unregister_key(&fsd->key);
> >> > - kfree(fsd->lock_name);
> >> > -#endif
> >> > WARN_ON(!list_empty(&fsd->cancellations));
> >> > mutex_destroy(&fsd->cancellations_mtx);
> >> > }
> >> > @@ -755,9 +751,6 @@ static void __debugfs_file_removed(struct
> >> > dentry
> >> > *dentry)
> >> > if ((unsigned long)fsd & DEBUGFS_FSDATA_IS_REAL_FOPS_BIT)
> >> > return;
> >> >
> >> > - lock_map_acquire(&fsd->lockdep_map);
> >> > - lock_map_release(&fsd->lockdep_map);
> >> > -
> >> > /* if we hit zero, just wait for all to finish */
> >> > if (!refcount_dec_and_test(&fsd->active_users)) {
> >> > wait_for_completion(&fsd->active_users_drained);
> >> > diff --git a/fs/debugfs/internal.h b/fs/debugfs/internal.h index
> >> > 0c4c68cf161f..dae80c2a469e 100644
> >> > --- a/fs/debugfs/internal.h
> >> > +++ b/fs/debugfs/internal.h
> >> > @@ -7,7 +7,6 @@
> >> >
> >> > #ifndef _DEBUGFS_INTERNAL_H_
> >> > #define _DEBUGFS_INTERNAL_H_
> >> > -#include <linux/lockdep.h>
> >> > #include <linux/list.h>
> >> >
> >> > struct file_operations;
> >> > @@ -25,11 +24,6 @@ struct debugfs_fsdata {
> >> > struct {
> >> > refcount_t active_users;
> >> > struct completion active_users_drained; -#ifdef
> >> CONFIG_LOCKDEP
> >> > - struct lockdep_map lockdep_map;
> >> > - struct lock_class_key key;
> >> > - char *lock_name;
> >> > -#endif
> >> >
> >> > /* protect cancellations */
> >> > struct mutex cancellations_mtx;
> >> > --
> >> > 2.25.1
> >
More information about the Intel-gfx
mailing list