[Intel-gfx] [topic/core-for-CI] Revert "debugfs: annotate debugfs handlers vs. removal with lockdep"

Lucas De Marchi lucas.demarchi at intel.com
Wed Dec 6 21:32:49 UTC 2023


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%7Cgem%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.

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