Re: [PATCH v10] mm: slub: move sysfs slab alloc/free interfaces to debugfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 6, 2021 at 7:16 PM Faiyaz Mohammed <faiyazm@xxxxxxxxxxxxxx> wrote:
>
> alloc_calls and free_calls implementation in sysfs have two issues,
> one is PAGE_SIZE limitiation of sysfs and other is it does not adhere

limitation

> to "one value per file" rule.
>
> To overcome this issues, move the alloc_calls and free_calls implemeation

implementation

> to debugfs.
>
> Debugfs cache will be created if SLAB_STORE_USER flag is set.
>
> Rename the alloc_calls/free_calls to alloc_traces/free_traces,
> to be inline with what it does.

...

> +#if defined(CONFIG_DEBUG_FS) && defined(CONFIG_SLUB_DEBUG)
> +void debugfs_slab_release(struct kmem_cache *);
> +#else

> +static inline void debugfs_slab_release(struct kmem_cache *s)
> +{
> +}

It can be one line.

> +#endif

...


> +               if (l->sum_time != l->min_time) {
> +                       seq_printf(seq, " age=%ld/%ld/%ld",
> +                               l->min_time,

> +                               (long)div_u64(l->sum_time, l->count),

Hmm... Why is the cast needed here?

> +                               l->max_time);
> +               } else
> +                       seq_printf(seq, " age=%ld",
> +                               l->min_time);

...

> +               if (num_online_cpus() > 1 &&
> +                               !cpumask_empty(to_cpumask(l->cpus)))

One line?

...

> +static const struct seq_operations slab_debugfs_sops = {
> +       .start  = slab_debugfs_start,
> +       .next   = slab_debugfs_next,
> +       .stop   = slab_debugfs_stop,

> +       .show   = slab_debugfs_show

Leave a comma here. It might not be the last one in the future.

> +};

+ blank line?

> +static int slab_debug_trace_open(struct inode *inode, struct file *filep)
> +{

...

> +static const struct file_operations slab_debugfs_fops = {
> +       .open    = slab_debug_trace_open,
> +       .read    = seq_read,
> +       .llseek  = seq_lseek,
> +       .release = slab_debug_trace_release,
> +};
> +
> +

One blank line is enough.

...

> +       debugfs_remove_recursive(debugfs_lookup(s->name,
> +                                       slab_debugfs_root));

One line?

-- 
With Best Regards,
Andy Shevchenko




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux