2021-02-05 01:52:35

by Kalesh Singh

[permalink] [raw]
Subject: [PATCH v2 2/2] dmabuf: Add dmabuf inode number to /proc/*/fdinfo

If a FD refers to a DMA buffer add the DMA buffer inode number to
/proc/<pid>/fdinfo/<FD> and /proc/<pid>/task/<tid>/fdindo/<FD>.

The dmabuf inode number allows userspace to uniquely identify the buffer
and avoids a dependency on /proc/<pid>/fd/* when accounting per-process
DMA buffer sizes.

Signed-off-by: Kalesh Singh <[email protected]>
---

Changes in v2:
- Update patch desciption

drivers/dma-buf/dma-buf.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
index 9ad6397aaa97..d869099ede83 100644
--- a/drivers/dma-buf/dma-buf.c
+++ b/drivers/dma-buf/dma-buf.c
@@ -414,6 +414,7 @@ static void dma_buf_show_fdinfo(struct seq_file *m, struct file *file)
{
struct dma_buf *dmabuf = file->private_data;

+ seq_printf(m, "dmabuf_inode_no:\t%lu\n", file_inode(file)->i_ino);
seq_printf(m, "size:\t%zu\n", dmabuf->size);
/* Don't count the temporary reference taken inside procfs seq_show */
seq_printf(m, "count:\t%ld\n", file_count(dmabuf->file) - 1);
--
2.30.0.365.g02bc693789-goog


2021-02-05 01:58:52

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] dmabuf: Add dmabuf inode number to /proc/*/fdinfo

On 2/4/21 3:28 PM, Kalesh Singh wrote:
> If a FD refers to a DMA buffer add the DMA buffer inode number to
> /proc/<pid>/fdinfo/<FD> and /proc/<pid>/task/<tid>/fdindo/<FD>.
>
> The dmabuf inode number allows userspace to uniquely identify the buffer
> and avoids a dependency on /proc/<pid>/fd/* when accounting per-process
> DMA buffer sizes.
>
> Signed-off-by: Kalesh Singh <[email protected]>
> ---

Hi,
Please document this change in
Documentation/filesystems/proc.rst.

Thanks.

>
> Changes in v2:
> - Update patch desciption
>
> drivers/dma-buf/dma-buf.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c
> index 9ad6397aaa97..d869099ede83 100644
> --- a/drivers/dma-buf/dma-buf.c
> +++ b/drivers/dma-buf/dma-buf.c
> @@ -414,6 +414,7 @@ static void dma_buf_show_fdinfo(struct seq_file *m, struct file *file)
> {
> struct dma_buf *dmabuf = file->private_data;
>
> + seq_printf(m, "dmabuf_inode_no:\t%lu\n", file_inode(file)->i_ino);
> seq_printf(m, "size:\t%zu\n", dmabuf->size);
> /* Don't count the temporary reference taken inside procfs seq_show */
> seq_printf(m, "count:\t%ld\n", file_count(dmabuf->file) - 1);
>


--
~Randy