I use 5.1-current and have found that by default FreeBSD disables ATAPI's support for DMA transfers and thus uses CPU hungry PIO modes. It even makes sysctl used to change this read-only. I had changed the default value of atapi_dma to 1 in dev/ata/atapi-all.c to 1 and it worked fine for me. Can someone explain why it is disabled?