Messages in this thread | | | Date | Mon, 15 Feb 2021 10:03:54 -0500 (EST) | From | Mikulas Patocka <> | Subject | [RFC v3] nvfs: a filesystem for persistent memory |
| |
Hi
I announce a new version of NVFS - a filesystem for persistent memory. http://people.redhat.com/~mpatocka/nvfs/ git://leontynka.twibright.com/nvfs.git
Changes since the last release:
I reworked file read/write handling:
* the functions nvfs_read and nvfs_write were deleted beacause it's unlikely that the upstream kernel will allow them.
* the functions nvfs_read_iter and nvfs_write_iter have a fast path if there is just one segment in iov_iter - they will call nvfs_read_locked and nvfs_write_locked directly. This improves performance by 3% on the read path and 1% on the write path.
* read_iter_locked uses copy_to_iter as suggested by Al Viro.
* write_iter_locked doesn't use copy_from_iter_flushcache, because we need copy that doesn't advance the iter (the "copy" and "advance" must be two separate operations). So, I added new operations "iov_iter_map" and "iov_iter_unmap" - iov_iter_map will map the first segment of iov and iov_iter_unmap will unmap it.
Do you think that introducing "iov_iter_map" and "iov_iter_unmap" is appropriate? Do you have some other idea how to handle it?
Mikukas
| |