mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-19 14:56:21 +00:00
Revert "drm/amdkfd: SMI report dropped event count"
This reverts commit a3ab2d45b9887ee609cd3bea39f668236935774c. The userspace side for this code is not ready yet so revert for now. Reviewed-by: Philip Yang <Philip.Yang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: Philip Yang <Philip.Yang@amd.com>
This commit is contained in:
parent
32e7ee293f
commit
97ddae76dd
@ -42,7 +42,6 @@ struct kfd_smi_client {
|
||||
struct rcu_head rcu;
|
||||
pid_t pid;
|
||||
bool suser;
|
||||
u32 drop_count;
|
||||
};
|
||||
|
||||
#define KFD_MAX_KFIFO_SIZE 8192
|
||||
@ -104,28 +103,12 @@ static ssize_t kfd_smi_ev_read(struct file *filep, char __user *user,
|
||||
}
|
||||
to_copy = min(size, to_copy);
|
||||
ret = kfifo_out(&client->fifo, buf, to_copy);
|
||||
spin_unlock(&client->lock);
|
||||
if (ret <= 0) {
|
||||
spin_unlock(&client->lock);
|
||||
ret = -EAGAIN;
|
||||
goto ret_err;
|
||||
}
|
||||
|
||||
if (client->drop_count) {
|
||||
char msg[KFD_SMI_EVENT_MSG_SIZE];
|
||||
int len;
|
||||
|
||||
len = snprintf(msg, sizeof(msg), "%x ", KFD_SMI_EVENT_DROPPED_EVENT);
|
||||
len += snprintf(msg + len, sizeof(msg) - len,
|
||||
KFD_EVENT_FMT_DROPPED_EVENT(ktime_get_boottime_ns(),
|
||||
client->pid, client->drop_count));
|
||||
if (kfifo_avail(&client->fifo) >= len) {
|
||||
kfifo_in(&client->fifo, msg, len);
|
||||
client->drop_count = 0;
|
||||
}
|
||||
}
|
||||
|
||||
spin_unlock(&client->lock);
|
||||
|
||||
ret = copy_to_user(user, buf, to_copy);
|
||||
if (ret) {
|
||||
ret = -EFAULT;
|
||||
@ -199,15 +182,13 @@ static void add_event_to_kfifo(pid_t pid, struct kfd_node *dev,
|
||||
list_for_each_entry_rcu(client, &dev->smi_clients, list) {
|
||||
if (!kfd_smi_ev_enabled(pid, client, smi_event))
|
||||
continue;
|
||||
|
||||
spin_lock(&client->lock);
|
||||
if (!client->drop_count && kfifo_avail(&client->fifo) >= len) {
|
||||
if (kfifo_avail(&client->fifo) >= len) {
|
||||
kfifo_in(&client->fifo, event_msg, len);
|
||||
wake_up_all(&client->wait_queue);
|
||||
} else {
|
||||
client->drop_count++;
|
||||
pr_debug("smi_event(EventID: %u): no space left drop_count %d\n",
|
||||
smi_event, client->drop_count);
|
||||
pr_debug("smi_event(EventID: %u): no space left\n",
|
||||
smi_event);
|
||||
}
|
||||
spin_unlock(&client->lock);
|
||||
}
|
||||
|
@ -530,7 +530,6 @@ enum kfd_smi_event {
|
||||
KFD_SMI_EVENT_QUEUE_EVICTION = 9,
|
||||
KFD_SMI_EVENT_QUEUE_RESTORE = 10,
|
||||
KFD_SMI_EVENT_UNMAP_FROM_GPU = 11,
|
||||
KFD_SMI_EVENT_DROPPED_EVENT = 12,
|
||||
|
||||
/*
|
||||
* max event number, as a flag bit to get events from all processes,
|
||||
@ -611,7 +610,6 @@ struct kfd_ioctl_smi_events_args {
|
||||
* rw: 'W' for write page fault, 'R' for read page fault
|
||||
* rescheduled: 'R' if the queue restore failed and rescheduled to try again
|
||||
* error_code: migrate failure error code, 0 if no error
|
||||
* drop_count: how many events dropped when fifo is full
|
||||
*/
|
||||
#define KFD_EVENT_FMT_UPDATE_GPU_RESET(reset_seq_num, reset_cause)\
|
||||
"%x %s\n", (reset_seq_num), (reset_cause)
|
||||
@ -647,10 +645,6 @@ struct kfd_ioctl_smi_events_args {
|
||||
"%lld -%d @%lx(%lx) %x %d\n", (ns), (pid), (addr), (size),\
|
||||
(node), (unmap_trigger)
|
||||
|
||||
#define KFD_EVENT_FMT_DROPPED_EVENT(ns, pid, drop_count)\
|
||||
"%lld -%d %d\n", (ns), (pid), (drop_count)
|
||||
|
||||
|
||||
/**************************************************************************************************
|
||||
* CRIU IOCTLs (Checkpoint Restore In Userspace)
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user