edits
[cdsspec-compiler.git] / benchmark / mpmc-queue / mpmc-queue.cc
index cfa82f2a13ca95a741608fb55d09db61dacd8bc5..39c2c0a24808a3ce62b05a47b66b11f0445d198e 100644 (file)
 void threadA(struct mpmc_boundq_1_alt<int32_t, sizeof(int32_t)> *queue)
 {
        int32_t *bin = queue->write_prepare();
-       store_32(bin, 1);
+       //store_32(bin, 1);
+       *bin = 1;
        printf("write_bin %d, val %d\n", bin, 1);
-       queue->write_publish();
+       queue->write_publish(bin);
 }
 
 void threadB(struct mpmc_boundq_1_alt<int32_t, sizeof(int32_t)> *queue)
 {
        int32_t *bin;
        while (bin = queue->read_fetch()) {
-               printf("Read: %d\n", load_32(bin));
-               printf("read_bin %d, val %d\n", bin, load_32(bin));
-               queue->read_consume();
+               //printf("Read: %d\n", load_32(bin));
+               //printf("read_bin %d, val %d\n", bin, load_32(bin));
+               printf("Read: %d\n", *bin);
+               queue->read_consume(bin);
        }
 }
 
 void threadC(struct mpmc_boundq_1_alt<int32_t, sizeof(int32_t)> *queue)
 {
        int32_t *bin = queue->write_prepare();
-       store_32(bin, 1);
-       queue->write_publish();
+       //store_32(bin, 1);
+       *bin = 1;
+       queue->write_publish(bin);
 
        while (bin = queue->read_fetch()) {
-               printf("Read: %d\n", load_32(bin));
-               queue->read_consume();
+               //printf("Read: %d\n", load_32(bin));
+               printf("Read: %d\n", *bin);
+               queue->read_consume(bin);
        }
 }
 
@@ -115,9 +119,10 @@ int user_main(int argc, char **argv)
 #ifndef CONFIG_MPMC_NO_INITIAL_ELEMENT
        printf("Adding initial element\n");
        int32_t *bin = queue.write_prepare();
-       store_32(bin, 17);
+       //store_32(bin, 17);
+       *bin, 17;
        printf("init_write_bin %d, val %d\n", bin, 17);
-       queue.write_publish();
+       queue.write_publish(bin);
 #endif
 
        printf("Start threads\n");