Is the fsync() fake on FreeBSD6.1?
Leo Huang
leo.huang.gd at gmail.com
Fri Jun 30 03:57:07 UTC 2006
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 at 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
>
More information about the freebsd-fs
mailing list