The immediate use-case is to allow a high performance virtual network device backend to be implemented in userspace for KVM. In general, it's just a standardized ring queue between kernel and userspace. Ring queues are lock-less and efficient when shared between two CPUs. They are good at batching and implementing zero-copy IO. vringfd() will be most immediately useful for tun/tap users. Of course, it's easy to envision a vringfd() interface for block IO.
Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds