29 #define M0_TRACE_SUBSYSTEM M0_TRACE_SUBSYS_UT 135 enum { MARK_DELIVERED_LQ_SIZE = 100 };
142 uint32_t lq_size = MARK_DELIVERED_LQ_SIZE;
143 uint64_t tags[MARK_DELIVERED_LQ_SIZE];
159 for (
i = 0;
i < lq_size; ++
i) {
184 if (!((
i >= lq_size/10 &&
i < lq_size/10 + lq_size/20) ||
185 (
i >= lq_size/4 &&
i < lq_size/4 + lq_size/10) ||
186 (
i >= lq_size/2 &&
i < lq_size/2 + lq_size/5)))
196 for (
i = 0;
i < lq_size; ++
i) {
200 if ((
i >= lq_size/4 &&
i < lq_size/4 + lq_size/10) ||
201 (
i >= lq_size/2 &&
i < lq_size/2 + lq_size/5))
208 for (
i = 0;
i < lq_size; ++
i) {
219 if ((
i >= lq_size/10 &&
i < lq_size/10 + lq_size/20))
231 for (
i = 0;
i < lq_size; ++
i) {
243 #undef M0_TRACE_SUBSYSTEM
M0_INTERNAL bool m0_ha_lq_has_tag(const struct m0_ha_lq *lq, uint64_t tag)
M0_INTERNAL bool m0_ha_lq_try_unnext(struct m0_ha_lq *lq)
M0_INTERNAL uint64_t m0_ha_lq_enqueue(struct m0_ha_lq *lq, const struct m0_ha_msg *msg)
M0_INTERNAL void m0_ha_lq_fini(struct m0_ha_lq *lq)
M0_INTERNAL struct m0_ha_msg * m0_ha_lq_next(struct m0_ha_lq *lq)
M0_INTERNAL void m0_ha_lq_tags_set(struct m0_ha_lq *lq, const struct m0_ha_link_tags *tags)
static uint64_t tag(uint8_t code, uint64_t id)
M0_INTERNAL uint64_t m0_ha_lq_tag_delivered(const struct m0_ha_lq *lq)
#define M0_FID_INIT(container, key)
M0_INTERNAL uint64_t m0_ha_lq_dequeue(struct m0_ha_lq *lq)
void m0_ha_ut_lq_mark_delivered(void)
M0_INTERNAL bool m0_ha_lq_has_next(const struct m0_ha_lq *lq)
M0_INTERNAL bool m0_ha_lq_is_delivered(const struct m0_ha_lq *lq, uint64_t tag)
M0_INTERNAL void m0_ha_lq_mark_delivered(struct m0_ha_lq *lq, uint64_t tag)
M0_INTERNAL uint64_t m0_ha_lq_tag_confirmed(const struct m0_ha_lq *lq)
M0_INTERNAL bool m0_ha_msg_eq(const struct m0_ha_msg *msg1, const struct m0_ha_msg *msg2)
M0_INTERNAL void m0_ha_link_tags_initial(struct m0_ha_link_tags *tags, bool tag_even)
M0_INTERNAL void m0_ha_lq_init(struct m0_ha_lq *lq, const struct m0_ha_lq_cfg *lq_cfg)
M0_INTERNAL uint64_t m0_ha_lq_tag_assign(const struct m0_ha_lq *lq)
#define M0_ALLOC_PTR(ptr)
M0_INTERNAL struct m0_ha_msg * m0_ha_lq_msg(struct m0_ha_lq *lq, uint64_t tag)
M0_INTERNAL uint64_t m0_ha_lq_tag_next(const struct m0_ha_lq *lq)