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 :
> 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
>

_______________________________________________
freebsd-fs@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-fs
To unsubscribe, send any mail to "freebsd-fs-unsubscribe@freebsd.org"