ATA and readahead on DVD drive, ATA_C_F_ENAB_RCACHE

Martin Cracauer cracauer at
Thu Jan 8 16:55:08 PST 2004

Hi, Soeren, other ATA people,
are there any readahead options or other buffering that I can enable
in the ATA driver, for a DVD drive?
I see there is a call like this in the source:
    if (ata_command(atadev, ATA_C_SETFEATURES,
                    0, 0, ATA_C_F_ENAB_RCACHE, ATA_WAIT_INTR))
        ata_prtdev(atadev, "enabling readahead cache failed\n");
Can I trigger that call manually from userland?
How can I know whether this call have been executed at all?
Long story:
On my FreeBSD-4.9 machine I cannot directly play DVDs, the drive is
too slow (under FreeBSD), but only occasionally, as in hickups.  I can
watch DVDs fine with `mplayer -cache 8192`, which will buffer up 8 MB
and then playing out of the buffer.
However I would prefer to use Xine which doesn't have the buffer
option and stutters every few seconds.  I can proof that the long-term
bandwidth of the drive is enough and that it is actally the drive that
is the problem, because this works without stutter:
  play_title 1 1 | cstream -B 8m -c2 | xine -
[ play_title is part of libdvdread and dumps the mpeg streamto stdout,
  cstream is a stream tool with buffering option ]
The same hardware (CPU, Mainboard, IDE-Controller, DVD drive) played
fine under Linux with the same version of xine.  So I think it is a
reasonable assumption that the difference here is that Linux buffers
on the driver level (or in the drive) and FreeBSD does not.

- P3-based Celeron 1300 MHz
- P2B mainboard
- this drive is on the PIIX4 on-mainboard controller
- 384 MB RAM
- G-400 32 MB
- acd0: DVD-ROM <JLMS XJ-HD165H> at ata0-slave UDMA33
- (full dmesg on

On the other channel of the PIIX4 controller is a
  acd1: CD-RW <32X10> at ata1-master WDMA2

Could the presense of that be responsible for the problems on the
first drive?

Martin Cracauer <cracauer at>
 No warranty.    This email is probably produced by one of my cats 
 stepping on the keys. No, I don't have an infinite number of cats.

More information about the freebsd-hardware mailing list