Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Jun 2006 11:57:05 +0800
From:      "Leo Huang" <leo.huang.gd@gmail.com>
To:        "Bruce Evans" <bde@zeta.org.au>
Cc:        freebsd-fs@freebsd.org, Ivan Voras <ivoras@fer.hr>
Subject:   Re: Is the fsync() fake on FreeBSD6.1?
Message-ID:  <a0cd7c070606292057p6f120ef6mb45533217a4d93db@mail.gmail.com>
In-Reply-To: <20060629201157.N77878@delplex.bde.org>
References:  <a0cd7c070606270032h3a42de6ahf21cd11abedb6400@mail.gmail.com> <44A1B958.4030204@fer.hr> <20060628230439.M75051@delplex.bde.org> <a0cd7c070606281920r34fcc9dfr241ae6ac662024e4@mail.gmail.com> <20060629201157.N77878@delplex.bde.org>

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

> How did you disable "driver" write caching?  I think both Bjorn and I
> meant the _drive_ write caching, and that is what you refer to as "disk"
> write caching.  Only turn off the caching in the lowest layer (disk ==
> drive).

Yes, "disk" what I say means drive.

On FreeBSD, I use camcontrol to disable the drive write caching.
Enable:
mysql-test-4# camcontrol modepage da0 -m8
IC:  0
ABPF:  0
CAP:  0
DISC:  1
SIZE:  0
WCE:  1
MF:  0
RCD:  0
Demand Retention Priority:  0
Write Retention Priority:  0
Disable Pre-fetch Transfer Length:  65535
Minimum Pre-fetch:  0
Maximum Pre-fetch:  0
Maximum Pre-fetch Ceiling:  65535

Disable:
mysql-test-4# camcontrol modepage da0 -m8
IC:  0
ABPF:  0
CAP:  0
DISC:  1
SIZE:  0
WCE:  0
MF:  0
RCD:  0
Demand Retention Priority:  0
Write Retention Priority:  0
Disable Pre-fetch Transfer Length:  65535
Minimum Pre-fetch:  0
Maximum Pre-fetch:  0
Maximum Pre-fetch Ceiling:  65535


On Debian, I use sginfo to disable it.
Enable:
mysql-test-1:/home/huangjy# sginfo -c /dev/sda
Caching mode page (0x8)
-----------------------
Initiator Control                  0
ABPF                               0
CAP                                0
DISC                               1
SIZE                               0
Write Cache Enabled                1
MF                                 0
Read Cache Disabled                0
Demand Read Retention Priority     0
Demand Write Retention Priority    0
Disable Pre-fetch Transfer Length  65535
Minimum Pre-fetch                  0
Maximum Pre-fetch                  0
Maximum Pre-fetch Ceiling          65535
FSW                                1
LBCSS                              0
DRA                                0
Number of Cache Segments           8
Cache Segment size                 0
Non-Cache Segment size             0

Disable:
mysql-test-1:/home/huangjy# sginfo -c /dev/sda
Caching mode page (0x8)
-----------------------
Initiator Control                  0
ABPF                               0
CAP                                0
DISC                               1
SIZE                               0
Write Cache Enabled                0
MF                                 0
Read Cache Disabled                0
Demand Read Retention Priority     0
Demand Write Retention Priority    0
Disable Pre-fetch Transfer Length  65535
Minimum Pre-fetch                  0
Maximum Pre-fetch                  0
Maximum Pre-fetch Ceiling          65535
FSW                                1
LBCSS                              0
DRA                                0
Number of Cache Segments           8
Cache Segment size                 0
Non-Cache Segment size             0

> I wonder when all drives will have enough fast enough nonvolatile RAM for
> write caching to just work.
Our test computer only have one scsi disk. So I think that the data in
drive write caching will be lost when the power is off.


Regards,
Leo Huang

2006/6/29, Bruce Evans <bde@zeta.org.au>:
> On Thu, 29 Jun 2006, Leo Huang wrote:
>
> >> >> OS           Clients        Result(queries per second)  TPS(got from
> >> >> iostat)
> >> >> FreeBSD6.1    50               516.1                         about 2000
> >>
> >> Seems normal for drives that do write caching.
> >
> > I disable the driver write caching as Bjorn Gronvall suggest, the
> > result show that the TPS come down to about 200. So I think you and
> > Bjorn Gronvall are right. It is the disk write caching make the TPS so
> > high.
> >
> >> >> Debian3.1     50               49.8                          about 200
> >>
> >> Seems to slow for disks that do write caching.  Maybe Debian does something
> >> to force the drive to complete it's i/o, or just does a full sync() like
> >> someone mentioned Linux doing.
> >
> > I use sginfo the find that the disk write caching is also enabled
> > default. After the disk write caching is disabled, the TPS also come
> > down from 200 to 110. This is really pullze me. Can you give me more
> > infomation about it?
>
> How did you disable "driver" write caching?  I think both Bjorn and I
> meant the _drive_ write caching, and that is what you refer to as "disk"
> write caching.  Only turn off the caching in the lowest layer (disk ==
> drive).
>
> I wonder when all drives will have enough fast enough nonvolatile RAM for
> write caching to just work.
>
> Bruce
>



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