summaryrefslogtreecommitdiff
path: root/scripts/diffconfig
diff options
context:
space:
mode:
authorDani Liberman <dliberman@habana.ai>2021-10-03 15:57:44 +0300
committerOded Gabbay <ogabbay@kernel.org>2021-10-18 12:05:47 +0300
commitea6eb91c09cd4f2f92ba28ba277d2ecf63cdc237 (patch)
tree63d1036082eb6d0fb8cb2aa512565e2a427f6d8f /scripts/diffconfig
parent1d16a46b1a83ea44a73964fe28492656c70da831 (diff)
downloadkernel-ea6eb91c09cd4f2f92ba28ba277d2ecf63cdc237.tar.gz
habanalabs: fix race condition in multi CS completion
Race condition occurs when CS fence completes and multi CS did not completed yet, while waiting for multi CS ends and returns indication to user that the CS completed. Next wait for multi CS may be triggered by previous multi CS completion without any current CS completed, causing an error. Example scenario : 1. User do multi CS wait for CSs 1 and 2 on master QID 0 2. CS 1 and 2 reached the "cs release" code. The thread of CS 1 completed both the CS and multi CS handling but the completion thread of CS 2 completed the CS but still did not executed complete_multi_cs (note that in CS completion the sequence is to first do complete all for the CS and then another complete all to signal the multi_cs) 3. User received indication that CS 1 and 2 completed (since we check the CS fence and both indicated as completed) and immediately waits on CS 3 and 4, also on master QID 0. 4. Completion thread of CS2 executed complete_multi_cs before completion of CS 3 and 4 and so will trigger the multi CS wait of CSs 3 and 4 as they wait on master QID 0. This will trigger multi CS completion although none of its current CS has been completed. Fixed by adding multi CS complete handling indication for each CS. CS will be marked to the user as completed only if its fence completed and multi CS handling is done. Signed-off-by: Dani Liberman <dliberman@habana.ai> Reviewed-by: Oded Gabbay <ogabbay@kernel.org> Signed-off-by: Oded Gabbay <ogabbay@kernel.org>
Diffstat (limited to 'scripts/diffconfig')
0 files changed, 0 insertions, 0 deletions
/span>perf annotate: Fix --show-nr-samples for tui/stdio2Ravi Bangoria 2020-02-27perf annotate: Fix --show-total-period for tui/stdio2Ravi Bangoria 2020-02-27perf annotate/tui: Re-render title bar after switching back from script browserRavi Bangoria 2019-11-26perf map_symbol: Rename ms->mg to ms->mapsArnaldo Carvalho de Melo 2019-11-12perf annotate: Stop using map->groups, use map_symbol->mg insteadArnaldo Carvalho de Melo 2019-11-12perf annotate: Pass a 'map_symbol' in places receiving a pair of 'map' and 's...Arnaldo Carvalho de Melo 2019-09-20perf tools: Remove util.h from where it is not neededArnaldo Carvalho de Melo 2019-08-31perf dsos: Move the dsos struct and its methods to separate source filesArnaldo Carvalho de Melo 2019-08-29perf tools: Remove debug.h from header files not needing itArnaldo Carvalho de Melo 2019-07-29libperf: Add nr_entries to struct perf_evlistJiri Olsa 2019-07-29perf evsel: Rename struct perf_evsel to struct evselJiri Olsa 2019-07-09tools lib: Adopt zalloc()/zfree() from tools/perfArnaldo Carvalho de Melo 2019-05-28perf annotate TUI browser: Do not use member from variable within its own ini...Arnaldo Carvalho de Melo 2019-03-11perf report: Support builtin perf script in scripts menuAndi Kleen 2019-02-06pref tools: Add missing map.h includesArnaldo Carvalho de Melo 2019-01-21perf top: Fix wrong hottest instruction highlightedHe Kuang