On Thu, Aug 18, 2016 at 06:23:32PM +0000, Eduardo Horvath wrote: > > I suppose adding code to LFS where it posts the sync write to copy > it out to NVRAM would be relatively easy.
Perhaps, but I bet it'd be easier to implement a generic pseudodisk device that used NVRAM (fast SSD, etc -- just another disk device really) to buffer *all* writes to a given size and feed them out in that-size chunks. Or to add support for that to RAIDframe. For bonus points, do what the better "hardware" RAID cards do, and if the inbound writes are already chunk-size or larger, bypass them around the buffering (it implies extra copies and waits after all). That would help LFS and much more. And you can do it without having to touch the LFS code. However, there's stll the issue that this could effectively reorder reads around synchronous writes if you are not careful, particularly with the boot-time replay. Ensuring that is right is probably the trickiest part by far. Thor
