FT> I think that it would be better for the kerne module to provide FT> only generic mechanisms. I definitely see the value in removing the copy functionality from the kernel pieces, I just want to make sure that performance will not suffer. >> In order for this to perform well, we will need to use AIO, right? FT> I'm not sure about this. Can you elaborate? Well, assuming that a copy operation (and an fsync() to make sure it is on-disk) is a non-trivial operation, it would be good to allow the copy to happen in the background while still being able to service other requests from the kernel. In cowd, I need to write metadata when blocks are mapped, and fsync() them to make sure they are on disk before I allow the IO to complete. If I do this with a normal write()/fsync() (or open the file O_SYNC), then cowd is blocked until the write is complete. This means that other requests that are in the queue, which may not require a copy, are also blocked unnecessarily. I assume that unless copy operations are performed asynchronously (as they are now by letting the kernel do it), the problem will get even worse. -- Dan Smith IBM Linux Technology Center Open Hypervisor Team email: danms@xxxxxxxxxx
Attachment:
pgpPaoGaESbGR.pgp
Description: PGP signature
-- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel