Using DMA in read/write, setting block size for I/O
From: Karthik Sarangan
Date: Tue Oct 04 2005 - 09:26:46 EST
In my application, I have the following code.
int main(void)
{
char *pcBuffer;
posix_memalign((void **) pcBuffer, 512, 262144);
int ifd = open("/dev/sdb", O_DIRECT | O_RDWR);
long lLen;
lLen = read(ifd, pcBuffer, 262144);
close(ifd);
return 0;
}
Will the underlying block device read a single 256KB block from the hdd
into pcBuffer
or will it read 256KB as a set of smaller blocks?
Since the buffer is memory aligned will it enable DMA?
scsi disk driver is adaptec aic79xx.o
distro is RedHat Enterprise Linux WS 4 (kernel-2.6.9-11)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/