-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Zero-copy reads in Redwood via Arena-based pages and ability to allocate 4k-aligned memory in Arenas #4780
Conversation
…bles StringRefs to hold a reference to Redwood page memory.
…wned by an Arena, and ArenaPage uses this.
…ers extracting Standalone Keys and Values can just reference those instead of copying.
AWS CodeBuild CI Report
|
AWS CodeBuild CI Report
|
… aligned buffer feature.
AWS CodeBuild CI Report
|
…mory. Added new 4k-aligned fast allocator, and changed Arena::allocatedAlignedBuffer() to be 4k-specific, now called Arena::allocate4kAlignedBuffer().
…operation is acquiring its mutex, specifically after the permit is available but before the delay(0) inside take() is ready, causing the cursor to operate on an invalid pager.
AWS CodeBuild CI Report
|
AWS CodeBuild CI Report
|
…dd arena dependencies to the source page arena.
AWS CodeBuild CI Report
|
3b4379f
to
a31e4f6
Compare
AWS CodeBuild CI Report
|
AWS CodeBuild CI Report
|
AWS CodeBuild CI Report
|
829bd28
to
f88596b
Compare
AWS CodeBuild CI Report
|
AWS CodeBuild CI Report
|
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.
LGTM. Went over all of the arena logic and it looks sound.
I'd still defer to Andrew though as he has more experience here
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'll do a closer look too. I just noticed this for now
Co-authored-by: Andrew Noyes <andrew.noyes@snowflake.com>
AWS CodeBuild CI Report
|
AWS CodeBuild CI Report
|
… around to avoid the common getValue()'s actor state increasing from 128 to 256 bytes since it is a very hot code path.
279264a
to
f30793f
Compare
AWS CodeBuild CI Report
|
AWS CodeBuild CI Report
|
Value
andKeyValue
results which do not require copying KV data for initialization, as instead their arenas can simply depend on the underlying Redwood ArenaPage and Mirror arenas.kill(Error)
toFlowLock
to cause all current and future waiters on the lock to get an error.Passes 200k correctness
20210516-100240-satherton_foundationdb.two-86be77f3b26642e2
20210516-100518-satherton_foundationdb.two-a4bc6ae516a20eaa
Code-Reviewer Section
The general guidelines can be found here.
Please check each of the following things and check all boxes before accepting a PR.
For Release-Branches
If this PR is made against a release-branch, please also check the following:
release-branch
ormaster
if this is the youngest branch)