-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ralloc multi instance #9
Conversation
TCache reconstruction
allow Ralloc::tid to be set more than once fix some direct delete of PBlk do_free in to be freed containers will be fixed soon
This PR is ready for review @roghnin . Please take a look when you have time. Thanks! |
Thanks! Are you considering checking this into the Ralloc repo? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm good with your updates to Montage. Thanks again!
@@ -196,6 +221,22 @@ class EpochSys{ | |||
|
|||
static void init_thread(int _tid){ | |||
EpochSys::tid = _tid; | |||
Ralloc::set_tid(_tid); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is only needed for threads that calls Ralloc methods, right? There are options in ToBePersistContainer
that spawns n write-back threads for n worker threads, and I guess they don't need this.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, those who don't call Ralloc methods don't have to call set_tid()
. Do these threads call init_thread()
? I thought this func is called only in worker threads (and also epoch advancer since it deallocates things)
src/persist/EpochSys.hpp
Outdated
void delete_pblk(T* pblk){ | ||
_ral->deallocate(pblk); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We should explicitly call destructor of T in delete_pblk
, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice catch. Will fix.
We can, but since the copy of Ralloc in this repo diverges much from the original one, it may be nontrivial to apply the patch to the original, so I would leave it in my TODO list and do it later. |
…tructor call destructor in delete_pblk
adapt threadcached and ycsb to work with multi-instanced Montage and …
No description provided.