diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-13 21:09:05 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2019-08-14 10:09:21 +0100 |
commit | f130b712ff259f03feaf7a245e3464e3faad89ae (patch) | |
tree | 7f6cc7fdd70ab2aca778d5fcd441f1340ec6ab55 /lib/fdt_empty_tree.c | |
parent | b26496ae786d5f352a546ebdd4e54dc416e74f6e (diff) | |
download | linux-f130b712ff259f03feaf7a245e3464e3faad89ae.tar.bz2 |
drm/i915: Serialise read/write of the barrier's engine
We use the request pointer inside the i915_active_node as the indicator
of the barrier's status; we mark it as used during
i915_request_add_active_barriers(), and search for an available barrier
in reuse_idle_barrier(). That check must be carefully serialised to
ensure we do use an engine for the barrier and not just a random
pointer. (Along the other reuse path, we are fully serialised by the
timeline->mutex.) The acquisition of the barrier itself is ordered through
the strong memory barrier in llist_del_all().
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111397
Fixes: d8af05ff38ae ("drm/i915: Allow sharing the idle-barrier from other kernel requests")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190813200905.11369-1-chris@chris-wilson.co.uk
Diffstat (limited to 'lib/fdt_empty_tree.c')
0 files changed, 0 insertions, 0 deletions