summaryrefslogtreecommitdiffstats
path: root/include/framework
diff options
context:
space:
mode:
authorDouglas Rumbaugh <dbr4@psu.edu>2024-01-31 14:26:34 -0500
committerDouglas Rumbaugh <dbr4@psu.edu>2024-01-31 14:26:34 -0500
commitb1f966353695a0e06948df5332acccb84bbbcda0 (patch)
treed17288bc8cd3d859253e2301b496dd4291a2b739 /include/framework
parentd166465dcca3550cb8f3263e0f5b5189a69d531a (diff)
downloaddynamic-extension-b1f966353695a0e06948df5332acccb84bbbcda0.tar.gz
Query/Insert intermix benchmarks
Diffstat (limited to 'include/framework')
-rw-r--r--include/framework/DynamicExtension.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/framework/DynamicExtension.h b/include/framework/DynamicExtension.h
index 3203945..a10831e 100644
--- a/include/framework/DynamicExtension.h
+++ b/include/framework/DynamicExtension.h
@@ -328,14 +328,15 @@ private:
*/
enforce_delete_invariant(new_epoch);
- // FIXME: this may currently fail because there isn't any
+ // FIXME: this may currently block because there isn't any
// query preemption yet. At this point, we'd need to either
// 1) wait for all queries on the old_head to finish
// 2) kill all queries on the old_head
// 3) somehow migrate all queries on the old_head to the new
// version
- auto res = new_epoch->advance_buffer_head(buffer_head);
- assert(res);
+ while (!new_epoch->advance_buffer_head(buffer_head)) {
+ _mm_pause();
+ }
m_current_epoch.fetch_add(1);
old_epoch->set_inactive();