With delayed allocation, allocation of blocks
on disk are deferred until an I/O is necessary ...
This is a proof-of-concept implementation,
with lots more stuff to be worked out.
Delayed allocation is turned OFF by default.
But, you are encouraged to turn it on,
by changing delay_alloc to 1 at
this line in 'fs/page_buf.c':
-------
84 int delay_alloc = 0;
--------
In my tests so far delay_alloc = 1
passes more tests than with it OFF.
Specifically, doio with 2 threads passes OK,
and kernel compilation on a XFS file-system
gets a lot further than without delay_alloc.
Modid: 2.3.99pre2-xfs:slinx:60008a
Date: Thu Apr 27 16:13:02 PDT 2000
Workarea: bonnie.engr.sgi.com:/build2/ananth/slinx23-xfs
The following file(s) were checked into:
bonnie:/isms/slinx/2.3.99pre2-xfs
linux/fs/buffer.c - 1.30
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/buffer.c.diff?r1=text&tr1=1.30&r2=text&tr2=1.29&f=h
linux/fs/inode.c - 1.22
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/inode.c.diff?r1=text&tr1=1.22&r2=text&tr2=1.21&f=h
linux/fs/page_buf.c - 1.81
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/page_buf.c.diff?r1=text&tr1=1.81&r2=text&tr2=1.80&f=h
linux/fs/xfs/linux/xfs_iops.c - 1.47
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/xfs_iops.c.diff?r1=text&tr1=1.47&r2=text&tr2=1.46&f=h
linux/fs/xfs/linux/xfs_lrw.c - 1.36
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/xfs_lrw.c.diff?r1=text&tr1=1.36&r2=text&tr2=1.35&f=h
linux/fs/xfs/linux/xfs_super.c - 1.63
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/fs/xfs/linux/xfs_super.c.diff?r1=text&tr1=1.63&r2=text&tr2=1.62&f=h
linux/include/linux/mm.h - 1.29
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/include/linux/mm.h.diff?r1=text&tr1=1.29&r2=text&tr2=1.28&f=h
linux/include/linux/page_buf.h - 1.43
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/include/linux/page_buf.h.diff?r1=text&tr1=1.43&r2=text&tr2=1.42&f=h
linux/kdb/modules/kdbm_pb.c - 1.14
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/kdb/modules/kdbm_pb.c.diff?r1=text&tr1=1.14&r2=text&tr2=1.13&f=h
linux/mm/filemap.c - 1.35
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/mm/filemap.c.diff?r1=text&tr1=1.35&r2=text&tr2=1.34&f=h
linux/mm/memory.c - 1.26
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/mm/memory.c.diff?r1=text&tr1=1.26&r2=text&tr2=1.25&f=h
linux/mm/page_alloc.c - 1.22
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/mm/page_alloc.c.diff?r1=text&tr1=1.22&r2=text&tr2=1.21&f=h
linux/mm/vmscan.c - 1.25
http://oss.sgi.com/cgi-bin/cvsweb.cgi/linux-2.4-xfs/linux/mm/vmscan.c.diff?r1=text&tr1=1.25&r2=text&tr2=1.24&f=h
- Changes for XFS delayed allocation and page-cleaner daemon.
|