Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 879a0163 authored by Harsh Vardhan Dwivedi's avatar Harsh Vardhan Dwivedi Committed by Jordan Crouse
Browse files

msm: kgsl: Add print message to mark freed memory entries



In KGSL IOMMU fault handler, add a print message to indicate those
memory entries which have been MMU unmapped but are pending removal from
list of the concerned process' memory list. This corrects the
situation where due to a race condition an unmapped memory entry
might still get printed in fault handler as if still mapped and
in process list.

CRs-fixed: 698135
Change-Id: I5de2c4c5b6e5948a30f3415467aff161214fdba5
Signed-off-by: default avatarHarsh Vardhan Dwivedi <hdwivedi@codeaurora.org>
parent 7f51b800
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -160,6 +160,7 @@ struct _mem_entry {
	unsigned int size;
	unsigned int flags;
	unsigned int priv;
	int pending_free;
	pid_t pid;
};

@@ -190,6 +191,7 @@ static void _prev_entry(struct kgsl_process_private *priv,
			ret->size = entry->memdesc.size;
			ret->flags = entry->memdesc.flags;
			ret->priv = entry->memdesc.priv;
			ret->pending_free = entry->pending_free;
			ret->pid = priv->pid;
		}

@@ -224,6 +226,7 @@ static void _next_entry(struct kgsl_process_private *priv,
			ret->size = entry->memdesc.size;
			ret->flags = entry->memdesc.flags;
			ret->priv = entry->memdesc.priv;
			ret->pending_free = entry->pending_free;
			ret->pid = priv->pid;
		}

@@ -268,10 +271,11 @@ static void _print_entry(struct kgsl_device *device, struct _mem_entry *entry)
	kgsl_get_memory_usage(name, sizeof(name) - 1, entry->flags);

	KGSL_LOG_DUMP(device,
		"[%8.8X - %8.8X] %s (pid = %d) (%s)\n",
		"[%8.8X - %8.8X] %s %s (pid = %d) (%s)\n",
		entry->gpuaddr,
		entry->gpuaddr + entry->size,
		entry->priv & KGSL_MEMDESC_GUARD_PAGE ? "(+guard)" : "",
		entry->pending_free ? "(pending free)" : "",
		entry->pid, name);
}