Subject: yamt-readahead branch
To: None <tech-kern@netbsd.org>
From: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
List: tech-kern
Date: 11/15/2005 16:32:30
--NextPart-20051115161611-0008200
Content-Type: Text/Plain; charset=us-ascii

hi,

i made some read-ahead related changes on the branch.
unless any serious problem is found, i'll merge it to trunk shortly.
so please don't hesitate to review the changes.

summary:
	- switch from contextless-readahead.
	- isolate read-ahead code so that you can implement
	  and evalutate other algorithms more easily.
	- implement posix_fadvise.

todo:
	- test posix_fadvise.
	- posix_fadvise manpage.  can take from TOG one?
	- remove old genfs read-ahead code.
	- update vop_read_args comments for each filesystems.

a quick benchmark (bonnie++ -n0) is attached.
*1 and *2 are the same kernel.  i did the same test twice.
i'm wondering why "Rewrite" value has been changed.

YAMAMOTO Takashi

--NextPart-20051115161611-0008200
Content-Type: Text/Plain; charset=us-ascii
Content-Disposition: attachment; filename="base1"

kaeruXENU% bonnie++ -n0                                            [~/ben/ra/b]
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kaeruXENU      300M 10127  73 13784  80  6705  36 11810  73 18691  52  54.1   3
kaeruXENU,300M,10127,73,13784,80,6705,36,11810,73,18691,52,54.1,3,,,,,,,,,,,,,

--NextPart-20051115161611-0008200
Content-Type: Text/Plain; charset=us-ascii
Content-Disposition: attachment; filename="base2"

kaeruXENU% bonnie++ -n0                                            [~/ben/ra/b]
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kaeruXENU      300M 11062  82 11271  63  6431  34 11259  70 17904  49  53.6   3
kaeruXENU,300M,11062,82,11271,63,6431,34,11259,70,17904,49,53.6,3,,,,,,,,,,,,,

--NextPart-20051115161611-0008200
Content-Type: Text/Plain; charset=us-ascii
Content-Disposition: attachment; filename="yamt-readahead1"

kaeruXENU% bonnie++ -n0                                            [~/ben/ra/b]
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kaeruXENU      300M 10790  79 14023  79  8726  46 13632  80 20250  53  69.4   3
kaeruXENU,300M,10790,79,14023,79,8726,46,13632,80,20250,53,69.4,3,,,,,,,,,,,,,

--NextPart-20051115161611-0008200
Content-Type: Text/Plain; charset=us-ascii
Content-Disposition: attachment; filename="yamt-readahead2"

kaeruXENU% bonnie++ -n0                                            [~/ben/ra/b]
Writing with putc()...done
Writing intelligently...done
Rewriting...done
Reading with getc()...done
Reading intelligently...done
start 'em...done...done...done...
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kaeruXENU      300M  8699  63 14001  79  8670  45 13474  80 19970  51  69.5   3
kaeruXENU,300M,8699,63,14001,79,8670,45,13474,80,19970,51,69.5,3,,,,,,,,,,,,,

--NextPart-20051115161611-0008200--