Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Sep 2008 16:01:49 +0300
From:      Kostik Belousov <kostikbel@gmail.com>
To:        Igor Sysoev <is@rambler-co.ru>
Cc:        Tor Egge <tegge@freebsd.org>, freebsd-stable@freebsd.org
Subject:   Re: vfs.ffs.rawreadahead
Message-ID:  <20080903130149.GF2038@deviant.kiev.zoral.com.ua>
In-Reply-To: <20080903124733.GH62541@rambler-co.ru>
References:  <20080903095352.GA62541@rambler-co.ru> <20080903123955.GE2038@deviant.kiev.zoral.com.ua> <20080903124733.GH62541@rambler-co.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

--WCiRD21tF6xAtlSs
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 03, 2008 at 04:47:33PM +0400, Igor Sysoev wrote:
> On Wed, Sep 03, 2008 at 03:39:55PM +0300, Kostik Belousov wrote:
>=20
> > On Wed, Sep 03, 2008 at 01:53:52PM +0400, Igor Sysoev wrote:
> > > Hi,
> > >=20
> > > could anyone tell what does vfs.ffs.rawreadahead enable ?
> > > As I understand it's used in DIRECTIO code that allows read data
> > > directly to an userland buffer bypassing the buffer cache.
> > > What I can not understand where the read ahead data can be placed in ?
> >=20
> > The operation of the ffs_rawread is more accurately described as
> > bypassing the page cache. It creates the physical buffer that maps
> > the user pages.
> >=20
> > The readahead is performed only when the supplied user memory region
> > is bigger then blocksize. In this case, two reads are performed
> > simultaneously, with both buffers mapping consequent blocks from
> > user-supplied buffers. The read operation looks like footsteps.
>=20
> Nice!
>=20
> As I understand the size limit of one read operation is MAXPHYS, which is
> equal to 128K due to LBA28 ATA limit. On SCSI, SATA, and LBA48 ATA this l=
imit
> can be increased. Is it safe ?

As I understand, mnt_iosize_max value, that is topped at MAXPHYS, is used
to limit the size of the buffer cluster used for clustered reads/writes.
This readw clustering sometimes is called readahead too, but it seems to
not be directly related to readahead done by ffs_rawread.c.


--WCiRD21tF6xAtlSs
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (FreeBSD)

iEYEARECAAYFAki+ir0ACgkQC3+MBN1Mb4jP/QCeO//8yFyh+RvU8FfDnrH4MifQ
k0YAoJoe4Mge7t3qehJJKqfbPPlqDC0g
=MyOq
-----END PGP SIGNATURE-----

--WCiRD21tF6xAtlSs--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080903130149.GF2038>