From: Cyrill Gorcunov <gorcunov@gmail.com> To: tml <tarantool-patches@dev.tarantool.org> Cc: Vladislav Shpilevoy <v.shpilevoy@tarantool.org> Subject: [Tarantool-patches] [PATCH 02/11] vclock: vclock_get - drop misleading masking Date: Thu, 12 Nov 2020 22:51:12 +0300 [thread overview] Message-ID: <20201112195121.191366-3-gorcunov@gmail.com> (raw) In-Reply-To: <20201112195121.191366-1-gorcunov@gmail.com> We rely heavily that VCLOCK_MAX is 32 bits wide and using "VCLOCK_MAX - 1" as a mask for safe access to the replica id is simply misleading. Instead use assert here because we might change the number of supported replicas one day and they do not have to be pow2 value. And no need for this completely useless comment. Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> --- src/lib/vclock/vclock.h | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/lib/vclock/vclock.h b/src/lib/vclock/vclock.h index 5865f7443..fd4072c94 100644 --- a/src/lib/vclock/vclock.h +++ b/src/lib/vclock/vclock.h @@ -160,11 +160,7 @@ vclock_is_set(const struct vclock *vclock) static inline int64_t vclock_get(const struct vclock *vclock, uint32_t replica_id) { - /* - * If replica_id does not fit in VCLOCK_MAX - 1 then - * let result be undefined. - */ - replica_id &= VCLOCK_MAX - 1; + assert(replica_id < VCLOCK_MAX); /* Evaluate a bitmask to avoid branching. */ int64_t mask = 0ULL - ((vclock->map >> replica_id) & 0x1); return mask & vclock->lsn[replica_id]; -- 2.26.2
next prev parent reply other threads:[~2020-11-12 19:51 UTC|newest] Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-11-12 19:51 [Tarantool-patches] [PATCH 00/11] qsync: code refactoring Cyrill Gorcunov 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 01/11] build: add more ignore paths for tags target Cyrill Gorcunov 2020-11-16 13:09 ` Cyrill Gorcunov 2020-11-20 23:55 ` Vladislav Shpilevoy 2020-11-21 12:09 ` Cyrill Gorcunov 2020-11-12 19:51 ` Cyrill Gorcunov [this message] 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 03/11] vclock: vclock_inc -- add assert() to catch overflow Cyrill Gorcunov 2020-11-13 9:30 ` Serge Petrenko 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 04/11] txn: txn_commit_async -- drop redundant variable Cyrill Gorcunov 2020-11-13 9:31 ` Serge Petrenko 2020-11-20 23:55 ` Vladislav Shpilevoy 2020-11-21 12:30 ` Cyrill Gorcunov 2020-11-21 13:29 ` Vladislav Shpilevoy 2020-11-21 16:14 ` Cyrill Gorcunov 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 05/11] qsync: rename txn_limbo::instance_id to owner_id Cyrill Gorcunov 2020-11-13 9:37 ` Serge Petrenko 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 06/11] qsync: txn_limbo_append -- use owner_id in argument name Cyrill Gorcunov 2020-11-13 9:43 ` Serge Petrenko 2020-11-13 10:11 ` Cyrill Gorcunov 2020-11-20 23:55 ` Vladislav Shpilevoy 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 07/11] qsync: move limbo owner transition into separate helper Cyrill Gorcunov 2020-11-13 9:47 ` Serge Petrenko 2020-11-13 10:12 ` Cyrill Gorcunov 2020-11-20 23:55 ` Vladislav Shpilevoy 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 08/11] qsync: txn_limbo_wait_confirm -- refactor code a bit Cyrill Gorcunov 2020-11-13 9:56 ` Serge Petrenko 2020-11-20 23:55 ` Vladislav Shpilevoy 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 09/11] qsync: drop redundant type convention Cyrill Gorcunov 2020-11-13 10:11 ` Serge Petrenko 2020-11-13 10:13 ` Cyrill Gorcunov 2020-11-13 10:19 ` Serge Petrenko 2020-11-20 23:55 ` Vladislav Shpilevoy 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 10/11] relay: use verbose names for fibers Cyrill Gorcunov 2020-11-13 10:17 ` Serge Petrenko 2020-11-13 10:28 ` Cyrill Gorcunov 2020-11-20 23:55 ` Vladislav Shpilevoy 2020-11-12 19:51 ` [Tarantool-patches] [PATCH 11/11] raft: drop redundant argument Cyrill Gorcunov 2020-11-13 10:18 ` Serge Petrenko 2020-11-20 23:54 ` [Tarantool-patches] [PATCH 00/11] qsync: code refactoring Vladislav Shpilevoy 2020-11-24 23:24 ` Vladislav Shpilevoy 2020-11-23 23:26 ` Vladislav Shpilevoy 2020-11-24 6:52 ` Cyrill Gorcunov 2020-11-24 21:41 ` Alexander V. Tikhonov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201112195121.191366-3-gorcunov@gmail.com \ --to=gorcunov@gmail.com \ --cc=tarantool-patches@dev.tarantool.org \ --cc=v.shpilevoy@tarantool.org \ --subject='Re: [Tarantool-patches] [PATCH 02/11] vclock: vclock_get - drop misleading masking' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox