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

Commit 86e95682 authored by Sunil Khatri's avatar Sunil Khatri Committed by Lynus Vaz
Browse files

msm: kgsl: Relocate the pagefault tracepoint



During a pagefault we print trace with the fault
information which gets delayed by unacceptable
time. It happens due to the the code that searches the
faulty address in the recently freed addresses for a matching
entry.

Moving it to new position wont have any impact on debugging
instead trace is dumped without any delay.

Change-Id: I11487798b60742096e06605cf3046b4cfc8cc057
Signed-off-by: default avatarSunil Khatri <sunilkh@codeaurora.org>
parent 55a453a0
Loading
Loading
Loading
Loading
+7 −2
Original line number Diff line number Diff line
@@ -813,6 +813,13 @@ static int kgsl_iommu_fault_handler(struct iommu_domain *domain,

	ptname = MMU_FEATURE(mmu, KGSL_MMU_GLOBAL_PAGETABLE) ?
		KGSL_MMU_GLOBAL_PT : tid;
	/*
	 * Trace needs to be logged before searching the faulting
	 * address in free list as it takes quite long time in
	 * search and delays the trace unnecessarily.
	 */
	trace_kgsl_mmu_pagefault(ctx->kgsldev, addr,
			ptname, write ? "write" : "read");

	if (test_bit(KGSL_FT_PAGEFAULT_LOG_ONE_PER_PAGE,
		&adreno_dev->ft_pf_policy))
@@ -849,8 +856,6 @@ static int kgsl_iommu_fault_handler(struct iommu_domain *domain,
		}
	}

	trace_kgsl_mmu_pagefault(ctx->kgsldev, addr,
			ptname, write ? "write" : "read");

	/*
	 * We do not want the h/w to resume fetching data from an iommu