On Tue, May 22, 2018 at 04:29:22AM -0700, Reinette Chatre wrote:
> @@ -149,6 +151,9 @@ struct pseudo_lock_region {
>       unsigned int            line_size;
>       unsigned int            size;
>       void                    *kmem;
> +#ifdef CONFIG_INTEL_RDT_DEBUGFS
> +     struct dentry           *debugfs_dir;
> +#endif

Who cares, just always have this here, it's not going to save you
anything to #ifdef the .c code everywhere just for this one pointer.

> @@ -174,6 +180,9 @@ static void pseudo_lock_region_clear(struct 
> pseudo_lock_region *plr)
>               plr->d->plr = NULL;
>       plr->d = NULL;
>       plr->cbm = 0;
> +#ifdef CONFIG_INTEL_RDT_DEBUGFS
> +     plr->debugfs_dir = NULL;
> +#endif

See?  Ick.

> +     ret = strtobool(buf, &bv);
> +     if (ret == 0 && bv) {
> +             ret = debugfs_file_get(file->f_path.dentry);
> +             if (unlikely(ret))
> +                     return ret;

Only ever use unlikely/likely if you can measure the performance
difference.  Hint, you can't do that here, it's not needed at all.

> +#ifdef CONFIG_INTEL_RDT_DEBUGFS
> +     plr->debugfs_dir = debugfs_create_dir(rdtgrp->kn->name,
> +                                           debugfs_resctrl);
> +     if (IS_ERR(plr->debugfs_dir)) {
> +             ret = PTR_ERR(plr->debugfs_dir);
> +             plr->debugfs_dir = NULL;
> +             goto out_region;

Ick no, you never need to care about the return value of a debugfs call.
You code should never do something different if a debugfs call succeeds
or fails.  And you are checking it wrong, even if you did want to do
this :)

> +     }
> +
> +     entry = debugfs_create_file("pseudo_lock_measure", 0200,
> +                                 plr->debugfs_dir, rdtgrp,
> +                                 &pseudo_measure_fops);
> +     if (IS_ERR(entry)) {
> +             ret = PTR_ERR(entry);
> +             goto out_debugfs;
> +     }

Again, you don't care, don't do this.

> +#ifdef CONFIG_INTEL_RDT_DEBUGFS
> +     debugfs_remove_recursive(rdtgrp->plr->debugfs_dir);
> +#endif

Don't put ifdefs in .c files, it's not the Linux way at all.  You can
make this a lot simpler/easier to maintain over time if you do not.

thanks,

greg k-h

Reply via email to