diff options
author | Rob Clark <[email protected]> | 2019-07-29 10:27:18 -0700 |
---|---|---|
committer | Rob Clark <[email protected]> | 2019-08-02 10:24:14 -0700 |
commit | 9ac23794c9906366a8786f241ec63e1d4cf0cafd (patch) | |
tree | 46a185e2c7cdb42bd13a1f195a2d26125f3119d7 /src/freedreno/drm/msm_priv.h | |
parent | e439f63467419d73e74bcefe07fd6094f34d7ae5 (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.h | 7 |
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_ */ |