Using DMA in read/write, setting block size for I/O

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux