* [ogabbay:habanalabs-next 28/62] drivers/misc/habanalabs/common/command_submission.c:2121:14: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
@ 2021-08-25 21:30 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-08-25 21:30 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 24851 bytes --]
CC: clang-built-linux(a)googlegroups.com
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Ohad Sharabi <osharabi@habana.ai>
CC: Oded Gabbay <ogabbay@kernel.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git habanalabs-next
head: 1f3192a0f941290cff0d974f6583ca72169fd118
commit: 5bf209df737fb0b7d809a04bae610cbc3f7311f7 [28/62] habanalabs: add wait-for-multi-CS uAPI
:::::: branch date: 2 days ago
:::::: commit date: 7 days ago
config: x86_64-randconfig-c007-20210824 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project d26000e4cc2bc65e207a84fa26cb6e374d60aa12)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git/commit/?id=5bf209df737fb0b7d809a04bae610cbc3f7311f7
git remote add ogabbay https://git.kernel.org/pub/scm/linux/kernel/git/ogabbay/linux.git
git fetch --no-tags ogabbay habanalabs-next
git checkout 5bf209df737fb0b7d809a04bae610cbc3f7311f7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
drivers/net/ethernet/3com/typhoon.c:241:8: warning: Excessive padding in 'struct typhoon_shared' (76 padding bytes, where 12 is optimal).
Optimal fields order:
indexes,
zeroWord,
txHi,
iface,
cmd,
resp,
rxLo,
rxHi,
txLo,
rxBuff,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct typhoon_shared {
~~~~~~~^~~~~~~~~~~~~~~~
drivers/net/ethernet/3com/typhoon.c:241:8: note: Excessive padding in 'struct typhoon_shared' (76 padding bytes, where 12 is optimal). Optimal fields order: indexes, zeroWord, txHi, iface, cmd, resp, rxLo, rxHi, txLo, rxBuff, consider reordering the fields or adding explicit padding members
struct typhoon_shared {
~~~~~~~^~~~~~~~~~~~~~~~
drivers/net/ethernet/3com/typhoon.c:259:8: warning: Excessive padding in 'struct typhoon' (124 padding bytes, where 60 is optimal).
Optimal fields order:
ioaddr,
tx_pdev,
tx_ioaddr,
indexes,
pdev,
dev,
shared,
shared_dma,
txLoRing,
rxLoRing,
rxHiRing,
rxBuffRing,
cmdRing,
respRing,
txHiRing,
command_lock,
stats_saved,
napi,
rxbuffers,
txlo_dma_addr,
offload,
capabilities,
xcvr_select,
wol_events,
awaiting_resp,
duplex,
speed,
card_state,
consider reordering the fields or adding explicit padding members [clang-analyzer-optin.performance.Padding]
struct typhoon {
~~~~~~~^~~~~~~~~
drivers/net/ethernet/3com/typhoon.c:259:8: note: Excessive padding in 'struct typhoon' (124 padding bytes, where 60 is optimal). Optimal fields order: ioaddr, tx_pdev, tx_ioaddr, indexes, pdev, dev, shared, shared_dma, txLoRing, rxLoRing, rxHiRing, rxBuffRing, cmdRing, respRing, txHiRing, command_lock, stats_saved, napi, rxbuffers, txlo_dma_addr, offload, capabilities, xcvr_select, wol_events, awaiting_resp, duplex, speed, card_state, consider reordering the fields or adding explicit padding members
struct typhoon {
~~~~~~~^~~~~~~~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
drivers/net/ethernet/adaptec/starfire.c:962:46: warning: Value stored to 'setup_frm' is never read [clang-analyzer-deadcode.DeadStores]
writew(be16_to_cpu(eaddrs[0]), setup_frm); setup_frm += 8;
^ ~
drivers/net/ethernet/adaptec/starfire.c:962:46: note: Value stored to 'setup_frm' is never read
writew(be16_to_cpu(eaddrs[0]), setup_frm); setup_frm += 8;
^ ~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
drivers/net/ethernet/alacritech/slicoss.c:1525:3: warning: Value stored to 'data' is never read [clang-analyzer-deadcode.DeadStores]
data += sizeof(slic_stats_strings);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/ethernet/alacritech/slicoss.c:1525:3: note: Value stored to 'data' is never read
data += sizeof(slic_stats_strings);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
>> drivers/misc/habanalabs/common/command_submission.c:2121:14: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (status == CS_WAIT_STATUS_BUSY)
^
drivers/misc/habanalabs/common/command_submission.c:2661:6: note: Assuming the condition is false
if (flags & HL_WAIT_CS_FLAGS_INTERRUPT)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2661:2: note: Taking false branch
if (flags & HL_WAIT_CS_FLAGS_INTERRUPT)
^
drivers/misc/habanalabs/common/command_submission.c:2663:11: note: Assuming the condition is true
else if (flags & HL_WAIT_CS_FLAGS_MULTI_CS)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2663:7: note: Taking true branch
else if (flags & HL_WAIT_CS_FLAGS_MULTI_CS)
^
drivers/misc/habanalabs/common/command_submission.c:2664:8: note: Calling 'hl_multi_cs_wait_ioctl'
rc = hl_multi_cs_wait_ioctl(hpriv, data);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2308:6: note: Assuming field 'supports_wait_for_multi_cs' is not equal to 0
if (!hdev->supports_wait_for_multi_cs) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2308:2: note: Taking false branch
if (!hdev->supports_wait_for_multi_cs) {
^
drivers/misc/habanalabs/common/command_submission.c:2315:6: note: Assuming 'seq_arr_len' is <= HL_WAIT_MULTI_CS_LIST_MAX_LEN
if (seq_arr_len > HL_WAIT_MULTI_CS_LIST_MAX_LEN) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2315:2: note: Taking false branch
if (seq_arr_len > HL_WAIT_MULTI_CS_LIST_MAX_LEN) {
^
drivers/misc/habanalabs/common/command_submission.c:2324:6: note: Assuming 'cs_seq_arr' is non-null
if (!cs_seq_arr)
^~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2324:2: note: Taking false branch
if (!cs_seq_arr)
^
drivers/misc/habanalabs/common/command_submission.c:2330:6: note: Assuming the condition is false
if (copy_from_user(cs_seq_arr, seq_arr, size_to_copy)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2330:2: note: Taking false branch
if (copy_from_user(cs_seq_arr, seq_arr, size_to_copy)) {
^
drivers/misc/habanalabs/common/command_submission.c:2338:6: note: Assuming 'fence_arr' is non-null
if (!fence_arr) {
^~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2338:2: note: Taking false branch
if (!fence_arr) {
^
drivers/misc/habanalabs/common/command_submission.c:2353:7: note: Calling 'hl_cs_poll_fences'
rc = hl_cs_poll_fences(&mcs_data);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2087:2: note: 'status' declared without an initial value
enum hl_cs_wait_status status;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2093:6: note: Assuming 'rc' is 0
if (rc)
^~
drivers/misc/habanalabs/common/command_submission.c:2093:2: note: Taking false branch
if (rc)
^
drivers/misc/habanalabs/common/command_submission.c:2103:14: note: Assuming 'i' is < 'arr_len'
for (i = 0; i < arr_len; i++, fence_ptr++) {
^~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2103:2: note: Loop condition is true. Entering loop body
for (i = 0; i < arr_len; i++, fence_ptr++) {
^
drivers/misc/habanalabs/common/command_submission.c:2110:8: note: Calling 'hl_wait_for_fence'
rc = hl_wait_for_fence(mcs_data->ctx, seq_arr[i], fence,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2021:6: note: Calling 'IS_ERR'
if (IS_ERR(fence)) {
^~~~~~~~~~~~~
include/linux/err.h:36:9: note: Assuming the condition is true
return IS_ERR_VALUE((unsigned long)ptr);
^
include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/err.h:36:2: note: Returning the value 1, which participates in a condition later
return IS_ERR_VALUE((unsigned long)ptr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2021:6: note: Returning from 'IS_ERR'
if (IS_ERR(fence)) {
^~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2021:2: note: Taking true branch
if (IS_ERR(fence)) {
^
drivers/misc/habanalabs/common/command_submission.c:2023:7: note: Assuming the condition is false
if (rc == -EINVAL)
^~~~~~~~~~~~~
drivers/misc/habanalabs/common/command_submission.c:2023:3: note: Taking false branch
if (rc == -EINVAL)
^
drivers/misc/habanalabs/common/command_submission.c:2027:3: note: Returning without writing to '*status'
return rc;
^
drivers/misc/habanalabs/common/command_submission.c:2027:3: note: Returning value (loaded from 'rc'), which participates in a condition later
return rc;
vim +2121 drivers/misc/habanalabs/common/command_submission.c
eff6f4a0e70b7b drivers/misc/habanalabs/command_submission.c Oded Gabbay 2019-02-16 2066
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2067 /*
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2068 * hl_cs_poll_fences - iterate CS fences to check for CS completion
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2069 *
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2070 * @mcs_data: multi-CS internal data
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2071 *
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2072 * @return 0 on success, otherwise non 0 error code
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2073 *
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2074 * The function iterates on all CS sequence in the list and set bit in
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2075 * completion_bitmap for each completed CS.
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2076 * while iterating, the function can extracts the stream map to be later
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2077 * used by the waiting function.
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2078 * this function shall be called after taking context ref
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2079 */
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2080 static int hl_cs_poll_fences(struct multi_cs_data *mcs_data)
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2081 {
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2082 struct hl_fence **fence_ptr = mcs_data->fence_arr;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2083 struct hl_device *hdev = mcs_data->ctx->hdev;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2084 int i, rc, arr_len = mcs_data->arr_len;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2085 u64 *seq_arr = mcs_data->seq_arr;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2086 ktime_t max_ktime, first_cs_time;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2087 enum hl_cs_wait_status status;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2088
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2089 memset(fence_ptr, 0, arr_len * sizeof(*fence_ptr));
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2090
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2091 /* get all fences under the same lock */
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2092 rc = hl_ctx_get_fences(mcs_data->ctx, seq_arr, fence_ptr, arr_len);
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2093 if (rc)
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2094 return rc;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2095
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2096 /*
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2097 * set to maximum time to verify timestamp is valid: if at the end
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2098 * this value is maintained- no timestamp was updated
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2099 */
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2100 max_ktime = ktime_set(KTIME_SEC_MAX, 0);
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2101 first_cs_time = max_ktime;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2102
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2103 for (i = 0; i < arr_len; i++, fence_ptr++) {
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2104 struct hl_fence *fence = *fence_ptr;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2105
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2106 /*
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2107 * function won't sleep as it is called with timeout 0 (i.e.
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2108 * poll the fence)
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2109 */
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2110 rc = hl_wait_for_fence(mcs_data->ctx, seq_arr[i], fence,
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2111 &status, 0, NULL);
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2112 if (rc) {
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2113 dev_err(hdev->dev,
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2114 "wait_for_fence error :%d for CS seq %llu\n",
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2115 rc, seq_arr[i]);
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2116 break;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2117 }
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2118
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2119 mcs_data->stream_map |= fence->stream_map;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2120
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 @2121 if (status == CS_WAIT_STATUS_BUSY)
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2122 continue;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2123
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2124 mcs_data->completion_bitmap |= BIT(i);
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2125
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2126 /*
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2127 * best effort to extract timestamp. few notes:
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2128 * - if even single fence is gone we cannot extract timestamp
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2129 * (as fence not exist anymore)
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2130 * - for all completed CSs we take the earliest timestamp.
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2131 * for this we have to validate that:
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2132 * 1. given timestamp was indeed set
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2133 * 2. the timestamp is earliest of all timestamps so far
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2134 */
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2135
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2136 if (status == CS_WAIT_STATUS_GONE) {
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2137 mcs_data->update_ts = false;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2138 mcs_data->gone_cs = true;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2139 } else if (mcs_data->update_ts &&
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2140 (ktime_compare(fence->timestamp,
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2141 ktime_set(0, 0)) > 0) &&
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2142 (ktime_compare(fence->timestamp, first_cs_time) < 0)) {
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2143 first_cs_time = fence->timestamp;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2144 }
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2145 }
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2146
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2147 hl_fences_put(mcs_data->fence_arr, arr_len);
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2148
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2149 if (mcs_data->update_ts &&
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2150 (ktime_compare(first_cs_time, max_ktime) != 0))
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2151 mcs_data->timestamp = ktime_to_ns(first_cs_time);
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2152
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2153 return rc;
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2154 }
5bf209df737fb0 drivers/misc/habanalabs/common/command_submission.c Ohad Sharabi 2021-06-14 2155
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 35822 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-08-25 21:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-25 21:30 [ogabbay:habanalabs-next 28/62] drivers/misc/habanalabs/common/command_submission.c:2121:14: warning: The left operand of '==' is a garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult] kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.