-
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
Use DirectIO on linux #16
Comments
@fulmicoton from my understanding to bypass the pagecache we need this
Right now I want to confirm with you if it's these flags you were thinking of or any other flag. As I am still exploring the possibilities on this issue. |
We call |
Stock tokio does not do anything special with regard to io (unfortunately). This is just regular file descriptor running regular blocking io. |
@fulmicoton I have been trying to figure out why the DIRECT_IO was failing. What we could do is remove the BufWriter in between and handle the alignment with our own buffering (more involved). After doing a small test on this, I wonder if it's worth it as It seems the direct_IO is slower, this implementation has extra allocation but the difference is too much. See and Run https://replit.com/@evanxg852000/DirectIO |
What do you mean by failing? Your replit is on an unoptimized build and I don't know what you are running. |
DIRECT_IO should be memory aligned so flush operations fail with
Yes, the replit is an unoptimized build, but I was thinking both are running in the same context. I am still experimenting with measuring.
|
I have updated the replit to run the release build |
ok let's not use direct io then. Can you see if we can fadvise that we don't need this to be page cached for too long? |
Ok will check that |
We don't need to stress the pagecache with the recordlog. Just adding the custom flag on the OpenOptions should do the trick.
The text was updated successfully, but these errors were encountered: