-
Notifications
You must be signed in to change notification settings - Fork 58
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
freelist: separate out metadata from user data #600
Conversation
3664cb9
to
467a451
Compare
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 think having two different interfaces is a mistake. We should have one way to allocate / free freelist entries, whether or not they're registered.
Ok. My initial plan was to have So basically, we're going to end up with the "mr" interface variant (that returns an elem_t) in this PR being used for both the simple and complex freelists, That is,
and
We'll need to update both SENDRECV and RDMA protocols to use this interface. |
467a451
to
3aca268
Compare
f2cba68
to
9e03725
Compare
Rebased on master |
9e03725
to
41e5986
Compare
Addressed feedback from Brian |
41e5986
to
1c89777
Compare
Rebase on master |
1c89777
to
f3ae258
Compare
Rebase on master |
bot:aws:retest From CI:
Not sure what happened there; trying again. |
Updates the interface of freelist to return an elem struct that contains a buffer pointer and (optionally) memory registration info. Also updates sendrecv, rdma, and scheduler codes to use the new interface. This separation paves the way for storing freelist user data in GPU memory. Signed-off-by: Eric Raut <[email protected]>
f3ae258
to
e3d35e4
Compare
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.
In the end, I really hate this interface and think I was wrong about having the same interface for both use cases. But I'd rather do that in C++ where we just use a builtin PMR interface for freelists, rather than continuing to iterate here. So let's ship it and move on.
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.
did not test myself, but looks good to me.
Updates the interface of freelist to return an elem struct that contains
a buffer pointer and (optionally) memory registration info. Also updates
sendrecv, rdma, and scheduler codes to use the new interface.
This separation paves the way for storing freelist user data in GPU
memory.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.