Commit 97ddae76 authored by Alex Deucher's avatar Alex Deucher
Browse files

Revert "drm/amdkfd: SMI report dropped event count"



This reverts commit a3ab2d45.

The userspace side for this code is not ready yet so revert
for now.

Reviewed-by: default avatarPhilip Yang <Philip.Yang@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Cc: Philip Yang <Philip.Yang@amd.com>
parent 32e7ee29
Loading
Loading
Loading
Loading
+4 −23
Original line number Diff line number Diff line
@@ -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);
	if (ret <= 0) {
	spin_unlock(&client->lock);
	if (ret <= 0) {
		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);
	}
+0 −6
Original line number Diff line number Diff line
@@ -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)
 *