Re: [PATCH V2] dmabuf: ensure unique directory name for dmabuf stats

From: Christian König
Date: Tue May 10 2022 - 13:22:48 EST


Am 10.05.22 um 19:14 schrieb Charan Teja Kalla:
On 5/10/2022 8:42 PM, Christian König wrote:
   * The information in the interface can also be used to derive
per-exporter
   * statistics. The data from the interface can be gathered on error
conditions
@@ -172,6 +172,7 @@ int dma_buf_stats_setup(struct dma_buf *dmabuf)
  {
      struct dma_buf_sysfs_entry *sysfs_entry;
      int ret;
+    static atomic64_t unique_id = ATOMIC_INIT(0);
Please move that to the beginning of the declarations.

Done. Any scripts I can run at my end to catch these type of trivial
changes? checkpatch.pl didn't report this coding style.

Not that I know of. It's also not a hard requirement, I let it mostly slip in the drivers I maintain. But upstream people sometimes insist on that, so I want to be clean at least in driver independent frameworks.

        if (!dmabuf || !dmabuf->file)
          return -EINVAL;
@@ -192,7 +193,8 @@ int dma_buf_stats_setup(struct dma_buf *dmabuf)
        /* create the directory for buffer stats */
      ret = kobject_init_and_add(&sysfs_entry->kobj, &dma_buf_ktype,
NULL,
-                   "%lu", file_inode(dmabuf->file)->i_ino);
+                   "%lu-%lu", file_inode(dmabuf->file)->i_ino,
Why not just use the unique value here? Or is the inode number necessary
for something?
This will ease the debugging a lot. Given the dump, I can easily map
which dmabuf buffer to the process. On the crashutilty I just have to
search for this inode in the files output, just one example.

T.J. Mercier just confirmed my suspicion that this would break the UAPI. So that won't work.

This needs to be a single number, preferable documented as such.

Regards,
Christian.