-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
Currently we circulate bunch of Vec<u8> as an per-entry cache we read from the socket into, before we write it into the open segment file. Instead of discarding this data right after write, we could keep it around to server the reads from them.
This will be in particular useful if we use direct mode for reads and writes, as (AFAIU) that will prevent serving answers from the kernel-level cache.
There's are some problems/things to figure out here:
- It would be better to keep around fewer, but larger size buffers - e.g one
Vec<u8>per segment. Buttokio-uringwants to take ownership of the wholeVecon each operation, so working on such per-segmentVecmight not be possible. In addition - how are we going to track which areas of the buffer are already written into, and which are not? Just usein_flightto check?