You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 4, 2024. It is now read-only.
Direct IO, usally means O_DIRECT [1] and related IO, which could bypass some IO stack [2]. Usally it needs to align the size of io, and can bypass some page buffer/cache
Should we rename this to Local IO or other?
Besides, read using current reader is limited to single thread, since read is only support single thread. should we support a readAt (pread [3]) for possible multi-thread read?
Thank you very much for your suggestion.
In fact, according to the current code implementation, Local IO may be more suitable. In fact, this reader was originally scheduled to use direct io to implement reading, but since the implementation of direct io is different on various systems, it is temporarily The implementation is simplified and represented by File. I think it might be better if I comment on it.
I don't know much about readAt. I'll do some research.
To be short, a file may has an offset, and read might change that. So if there are multiple readers read on same fd, it might cause some concurrency problem.
pread means a positional-read, which is "thread safe".
Question
Direct IO, usally means O_DIRECT [1] and related IO, which could bypass some IO stack [2]. Usally it needs to align the size of io, and can bypass some page buffer/cache
Should we rename this to Local IO or other?
Besides, read using current reader is limited to single thread, since
read
is only support single thread. should we support areadAt
(pread [3]) for possible multi-thread read?[1] https://stackoverflow.com/questions/41257656/what-does-o-direct-really-mean
[2] https://www.thomas-krenn.com/en/wiki/Linux_Storage_Stack_Diagram
[3] https://man7.org/linux/man-pages/man2/pwrite.2.html
The text was updated successfully, but these errors were encountered: