I have a question/idea regarding the block device interface... First, some premises upon which my idea relies 1) All block device access goes through the block cache. 2) Filesystems must be mounted from block devices. 3) A block device read which is not a cache hit always puts the calling process to sleep, which means that even if the IO completes quickly (ie with a RAM disk), the process still has to wait to be scheduled again. So... It seems to me that these three things could lead to very poor RAM disk performance, which leads me to suggest that it might be a advantageous to allow block devices which do not go through the block cache. I can see three possible reasons this isn't a good idea: 1) With the current design, it would be really hard to do. 2) It doesn't make enough of a difference that people care. 3) I'm completely wrong. What do people think? |