aboutsummaryrefslogtreecommitdiffstats
path: root/src/freedreno/drm/msm_priv.h
diff options
context:
space:
mode:
authorRob Clark <[email protected]>2019-07-29 10:27:18 -0700
committerRob Clark <[email protected]>2019-08-02 10:24:14 -0700
commit9ac23794c9906366a8786f241ec63e1d4cf0cafd (patch)
tree46a185e2c7cdb42bd13a1f195a2d26125f3119d7 /src/freedreno/drm/msm_priv.h
parente439f63467419d73e74bcefe07fd6094f34d7ae5 (diff)
freedreno/drm: remove idx_lock
Since it ends up contended, it is a bit of a bottleneck for workloads with high driver overhead. Worth nearly +10% at gfxbench driver2. Signed-off-by: Rob Clark <[email protected]>
Diffstat (limited to 'src/freedreno/drm/msm_priv.h')
-rw-r--r--src/freedreno/drm/msm_priv.h7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/freedreno/drm/msm_priv.h b/src/freedreno/drm/msm_priv.h
index acf22bcb6f8..fd4267fa371 100644
--- a/src/freedreno/drm/msm_priv.h
+++ b/src/freedreno/drm/msm_priv.h
@@ -66,11 +66,6 @@ struct fd_submit * msm_submit_sp_new(struct fd_pipe *pipe);
struct msm_bo {
struct fd_bo base;
uint64_t offset;
- /* to avoid excess hashtable lookups, cache the ring this bo was
- * last emitted on (since that will probably also be the next ring
- * it is emitted on)
- */
- unsigned current_submit_seqno;
uint32_t idx;
};
FD_DEFINE_CAST(fd_bo, msm_bo);
@@ -138,4 +133,6 @@ grow(void *ptr, uint16_t nr, uint16_t *max, uint16_t sz)
(x)->nr_ ## name ++; \
})
+#define READ_ONCE(x) (*(volatile __typeof__(x) *)&(x))
+
#endif /* MSM_PRIV_H_ */