"git@developer.sourcefind.cn:guobj/qwen_lmdeploy.git" did not exist on "594fa51531c372ad65b5a6836b4f6a7c4071c3e6"
Commit da66109f authored by Jakob Görgen's avatar Jakob Görgen Committed by Antoine Kaufmann
Browse files

lib/base/if: sanity check sync interval against latency (#16)

Extend SimbricksBaseIfInit with a sanity check to catch
misconfigured parameters where the synchronization interval
is configured larger than the link latency, which leads to
incorrect behavior.
parent 03b2c4e7
......@@ -152,6 +152,15 @@ size_t SimbricksBaseIfSHMSize(struct SimbricksBaseIfParams *params) {
int SimbricksBaseIfInit(struct SimbricksBaseIf *base_if,
struct SimbricksBaseIfParams *params) {
/* ensure latency >= sync interval in synchronization case */
bool must_check_sync = params->sync_mode == kSimbricksBaseIfSyncOptional ||
params->sync_mode == kSimbricksBaseIfSyncRequired;
if (must_check_sync && params->link_latency < params->sync_interval) {
fprintf(stderr,
"SimbricksBaseIfInit: latency must be larger or equal to sync"
" interval\n");
return -1;
}
memset(base_if, 0, sizeof(*base_if));
base_if->params = *params;
return 0;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment