Page MenuHomeFreeBSD

D26642.id81278.diff
No OneTemporary

D26642.id81278.diff

diff --git a/lib/libprocstat/libprocstat.h b/lib/libprocstat/libprocstat.h
--- a/lib/libprocstat/libprocstat.h
+++ b/lib/libprocstat/libprocstat.h
@@ -73,6 +73,7 @@
#define PS_FST_TYPE_PROCDESC 13
#define PS_FST_TYPE_DEV 14
#define PS_FST_TYPE_EVENTFD 15
+#define PS_FST_TYPE_DMABUF 16
/*
* Special descriptor numbers.
diff --git a/lib/libprocstat/libprocstat.c b/lib/libprocstat/libprocstat.c
--- a/lib/libprocstat/libprocstat.c
+++ b/lib/libprocstat/libprocstat.c
@@ -632,6 +632,10 @@
type = PS_FST_TYPE_EVENTFD;
data = file.f_data;
break;
+ case DTYPE_DMABUF:
+ type = PS_FST_TYPE_DMABUF;
+ data = file.f_data;
+ break;
default:
continue;
}
@@ -724,6 +728,7 @@
{ KF_TYPE_SOCKET, PS_FST_TYPE_SOCKET },
{ KF_TYPE_VNODE, PS_FST_TYPE_VNODE },
{ KF_TYPE_EVENTFD, PS_FST_TYPE_EVENTFD },
+ { KF_TYPE_DMABUF, PS_FST_TYPE_DMABUF },
{ KF_TYPE_UNKNOWN, PS_FST_TYPE_UNKNOWN }
};
#define NKFTYPES (sizeof(kftypes2fst) / sizeof(*kftypes2fst))
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c
--- a/sys/kern/kern_descrip.c
+++ b/sys/kern/kern_descrip.c
@@ -4613,6 +4613,8 @@
return ("eventfd");
case DTYPE_LINUXTFD:
return ("ltimer");
+ case DTYPE_DMABUF:
+ return ("dmabuf");
default:
return ("unkn");
}
diff --git a/sys/sys/file.h b/sys/sys/file.h
--- a/sys/sys/file.h
+++ b/sys/sys/file.h
@@ -71,6 +71,7 @@
#define DTYPE_PROCDESC 12 /* process descriptor */
#define DTYPE_EVENTFD 13 /* eventfd */
#define DTYPE_LINUXTFD 14 /* emulation timerfd type */
+#define DTYPE_DMABUF 15 /* DMA buffer */
#ifdef _KERNEL
diff --git a/sys/sys/user.h b/sys/sys/user.h
--- a/sys/sys/user.h
+++ b/sys/sys/user.h
@@ -265,6 +265,7 @@
#define KF_TYPE_PROCDESC 11
#define KF_TYPE_DEV 12
#define KF_TYPE_EVENTFD 13
+#define KF_TYPE_DMABUF 14
#define KF_TYPE_UNKNOWN 255
#define KF_VTYPE_VNON 0
@@ -441,6 +442,10 @@
uint64_t kf_eventfd_value;
uint32_t kf_eventfd_flags;
} kf_eventfd;
+ struct {
+ char kf_dmabuf_exp_name[16];
+ uint64_t kf_dmabuf_size;
+ } kf_dmabuf;
} kf_un;
};
uint16_t kf_status; /* Status flags. */
diff --git a/usr.bin/procstat/procstat_files.c b/usr.bin/procstat/procstat_files.c
--- a/usr.bin/procstat/procstat_files.c
+++ b/usr.bin/procstat/procstat_files.c
@@ -419,6 +419,11 @@
xo_emit("{eq:fd_type/eventfd}");
break;
+ case PS_FST_TYPE_DMABUF:
+ str = "B";
+ xo_emit("{eq:fd_type/dmabuf}");
+ break;
+
case PS_FST_TYPE_NONE:
str = "?";
xo_emit("{eq:fd_type/none}");

File Metadata

Mime Type
text/plain
Expires
Wed, Apr 22, 12:40 AM (16 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31942209
Default Alt Text
D26642.id81278.diff (2 KB)

Event Timeline