Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tmpfs [2007/07/05 15:51] – call for help on fsx issue HowardSutmpfs [2022/09/19 01:33] (current) – Remove ACL: not 'devs only' for a long time, all:read is already default. Add Intro & move ToC KubilayKocak
Line 1: Line 1:
-----+====== TMPFS (Temporary Filesystem) ======
  
-TMPFS is now in -Current tree under /src/sys/fs/tmpfs.+====== Introduction ======
  
-====== Porting TMPFS ====== +%%TmpFS%% was first developed by Julio M. Merino Vidal for %%NetBSD%% as a %%SoC%% project: [[http://netbsd-soc.sourceforge.net/projects/tmpfs/|Efficient memory file-system]]. Rohit Jalan ported it from %%NetBSD%% to %%FreeBSD%%. Now HowardSu and Glen Leeder (<glen.leeder@nokia.com> ) and XinLi are working on it to continue this effort. 
-%%TmpFS%% is first developed by Julio M. Merino Vidal for %%NetBSD%% as a %%SoC%% project: [http://netbsd-soc.sourceforge.net/projects/tmpfs/ Efficient memory file-system]. Rohit Jalan ported it from %%NetBSD%% to %%FreeBSD%%. Now HowardSu and Glen Leeder ( glen.leeder@nokia.com ) are working on it to continue this effort.+ 
 +====== Using TMPFS ====== 
 + 
 +tmpfs is included in Release since 7-Release. A typical usage is use tmpfs as /tmp mount point. 
 +  - Change the /tmp mount point in /etc/fstab to: **tmpfs  /tmp  tmpfs  rw,mode=777  0  0** 
 +  - **umount /tmp** 
 +  - **mount /tmp** 
 + 
 +====== TODO ====== 
 + 
 +  * Refine and improve locking. 
 +  * Support unionfs, tmpfs can be used as an upper filesystem. 
 +  * Extra attribute support 
 + 
 +====== Testing Status ====== 
 + 
 +===== Regression Testing =====
  
-==== Regression Testing ==== 
 We port %%NetBSD%% regression test cases. We port %%NetBSD%% regression test cases.
  
-All tests sucessful.+All tests successful. 
 + 
 +===== POSIX Correctness Testing =====
  
-==== POSIX Correctness Testing ==== 
 All tests successful. All tests successful.
 Files=184, Tests=3353, 823 wallclock secs (29.94 cusr + 368.38 csys = 398.31 CPU) Files=184, Tests=3353, 823 wallclock secs (29.94 cusr + 368.38 csys = 398.31 CPU)
  
-==== Stress Testing ====+===== Stress Testing ===== 
 Survive after fsstress -n 10000 -p 50. Tested under AMD64/i386. Survive after fsstress -n 10000 -p 50. Tested under AMD64/i386.
  
-Any presure testing in SMP box are highly welcomed.+Any pressure testing in SMP box are highly welcomed.
  
-%%=%%==buildworld testing === +===== Buildworld testing =====
-We sucessfully build world to a tmpfs in 4-CPU box with -j32.+
  
-==== fsx Testing ==== +We successfully build world to a tmpfs in 4-CPU box with -j32.
-fsx is a tool to test the correctness of a filesystem read/write. It tests read, write, truncate, mmapread, mmapwrite, hole/extend write. TMPFS failed the testing with two problems: +
-1. The hole create by truncate or extend write is not zeroed correctly. +
-2. Some write data will lost due to unknow issue.+
  
-I suppose all these bugs are related to the fact that for each file, tmpfs maintain two objects (one vnode object in vnode->v_obj, one swap object in tmpfs_node->tn_obj). The data transfered between two objects are buggy (tmpfs_uio_xfer function in tmpfs_vnops.c). Any help are highly apprecaited.+===== fsx Testing ===== 
 + 
 +fsx(tools/regression/fsx) is a tool to test the correctness of a filesystem read/write. It tests read, write, truncate, mmapread, mmapwrite, hole/extend write. 
 + 
 +We passed fsx testing now. 
 + 
 +===== Performance Testing =====
  
-==== Performance Testing ==== 
 The vacache code is removed. sf_buf is used for data I/O. The performance will depends on sf_buf implementation in different platform. In Amd64, sf_buf is zero copy however i386 is not. So you will notice a performance difference. The vacache code is removed. sf_buf is used for data I/O. The performance will depends on sf_buf implementation in different platform. In Amd64, sf_buf is zero copy however i386 is not. So you will notice a performance difference.
 +
 +----
 +
 +{{tag>Stale}}
  
  • tmpfs.1183650672.txt.gz
  • Last modified: 2007/07/05 15:51
  • by HowardSu