summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuyu <[email protected]>2024-06-27 21:12:14 -0400
committerliuyu <[email protected]>2024-06-27 21:12:14 -0400
commit4d181fa169e79471d97fcaa9bc2ccc4696f14fdf (patch)
tree4868800fb9cb907ac113f2ddb73acfb80ea1cf47
parentcc654f704fe3caf3c6bc9b385ec26f23c098f5de (diff)
bugfix,bbq的flag没有打上
-rw-r--r--bbq/src/bbq.c3
-rw-r--r--bbq/tests/common/test_queue.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/bbq/src/bbq.c b/bbq/src/bbq.c
index bf7760f..67670f0 100644
--- a/bbq/src/bbq.c
+++ b/bbq/src/bbq.c
@@ -1,6 +1,6 @@
/*
* @Author: liuyu
- * @LastEditTime: 2024-06-27 07:28:24
+ * @LastEditTime: 2024-06-27 21:11:31
* @Describe: bbq(Block-based Bounded Queue)实现
* 参考:https://www.usenix.org/system/files/atc22-wang-jiawei.pdf
@@ -536,6 +536,7 @@ enum bbq_queue_state advance_phead(struct bbq *q, uint64_t ph) {
return BBQ_SUCCESS;
}
+/* 根据实际head以及块上的游标推算出待消费的个数,该函数很影响性能 */
static uint32_t bbq_wait_consumed_set(struct bbq *q, uint64_t *ch_ptr, uint64_t *ph_ptr, struct bbq_block *blk_ph) {
uint64_t ch = 0;
uint64_t ph = 0;
diff --git a/bbq/tests/common/test_queue.c b/bbq/tests/common/test_queue.c
index a27c752..00c3350 100644
--- a/bbq/tests/common/test_queue.c
+++ b/bbq/tests/common/test_queue.c
@@ -1,6 +1,6 @@
/*
* @Author: liuyu
- * @LastEditTime: 2024-06-27 07:19:03
+ * @LastEditTime: 2024-06-27 21:07:34
* @Describe: TODO
*/
@@ -30,7 +30,7 @@ int test_queue_init_bbq(test_cfg *cfg, test_queue_s *q) {
}
if (cfg->ring.block_count == 0) {
- q->ring = bbq_create("test_bbq", cfg->ring.entries_cnt, BBQ_SOCKET_ID_ANY, BBQ_F_RETRY_NEW);
+ q->ring = bbq_create("test_bbq", cfg->ring.entries_cnt, BBQ_SOCKET_ID_ANY, flags | BBQ_F_RETRY_NEW);
} else {
q->ring = bbq_create_with_bnbs("test_bbq", cfg->ring.block_count,
cfg->ring.entries_cnt / cfg->ring.block_count,