freebsd-nq/sys/fs/tmpfs
Konstantin Belousov 6f2af3fcf3 Rework the handling of the tmpfs node backing swap object and tmpfs
vnode v_object to avoid double-buffering.  Use the same object both as
the backing store for tmpfs node and as the v_object.

Besides reducing memory use up to 2x times for situation of mapping
files from tmpfs, it also makes tmpfs read and write operations copy
twice bytes less.

VM subsystem was already slightly adapted to tolerate OBJT_SWAP object
as v_object. Now the vm_object_deallocate() is modified to not
reinstantiate OBJ_ONEMAPPING flag and help the VFS to correctly handle
VV_TEXT flag on the last dereference of the tmpfs backing object.

Reviewed by:	alc
Tested by:	pho, bf
MFC after:	1 month
2013-04-28 19:38:59 +00:00
..
tmpfs_fifoops.c
tmpfs_fifoops.h
tmpfs_subr.c Rework the handling of the tmpfs node backing swap object and tmpfs 2013-04-28 19:38:59 +00:00
tmpfs_vfsops.c tmpfs: Replace directory entry linked list with RB-Tree. 2013-01-06 22:15:44 +00:00
tmpfs_vnops.c Rework the handling of the tmpfs node backing swap object and tmpfs 2013-04-28 19:38:59 +00:00
tmpfs_vnops.h
tmpfs.h - Make 'flags' argument to chflags(2), fchflags(2) and lchflags(2) of type 2013-03-21 22:44:33 +00:00