-
Notifications
You must be signed in to change notification settings - Fork 6.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
Update FilePrefetchBuffer::Read to reuse file system buffer when possible #13118
Closed
Closed
Changes from all commits
Commits
Show all changes
31 commits
Select commit
Hold shift + click to select a range
2890d0b
Update FilePrefetchBuffer::Read to use FS buffer
archang19 5b9542d
Add initial draft unit test
archang19 927b5d2
Update logic for determining start offset
archang19 1578f89
Check buffer offsets and sizes
archang19 7b91d32
Nit: technically more accurate initial_end_offset
archang19 00896e2
Very rough draft implementation for staging buffer
archang19 6102466
Use req_len to determine staging buffer size
archang19 de127d5
Minor touch ups
archang19 62ae064
Test staging buffer offset and sizes
archang19 d3b9990
Add GetRequiredBufferAlignment helper
archang19 3033665
Can use the 'aligned' offsets and lengths
archang19 f00f17c
Minor refactoring
archang19 b3784bf
Make staging buffer logic more like overlap buffer logic
archang19 9ac8c28
Unify methods for copying to staging_buf_ and overlap_buf_
archang19 ceb7ebd
Same logic for copying remaining data can be used for staging_buf_
archang19 06a4317
Remove unused part of test class
archang19 51d5e73
Only enable fs buffer reuse when num_buffers is 1
archang19 9c41306
Add another test case
archang19 34fd43d
Minor comments, refactors, test clarification
archang19 f9c88bf
Reorder in/out parameters for PrepareBufferForRead and ReadAheadSizeT…
archang19 2d0b808
Replace unique_ptr<char[]> with FSAllocationPtr
archang19 bece01d
Remove unnecessary reset()s
archang19 c4e3914
Unify staging_buf_ and overlap_buf_
archang19 b5fe272
Replace references of staging buffer in tests
archang19 0e64b6a
Minor refactor
archang19 fe96e86
Remove code that should not get called in HandleOverlappingSyncData
archang19 794a7cd
Make test parameterized to cover async prefetch too
archang19 303fabe
Track count of calls to copy data to overlap buffer
archang19 1072926
Fix comment explaining why overlap buffer was not used with async pre…
archang19 b883c21
Add SyncPoint EnableProcessing to hopefully fix mac os tests
archang19 a6d1afb
Update unreleased_history
archang19 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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 added this third field to validate async prefetching, since otherwise I cannot distinguish between
async_req_len
andCurrentSize()