Re: DMA Vs Programmed IO

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

 



Most of the cards like SCSI, FC, NIC now include their own
DMA engines.
Therefore it is good to have DMA for them. The older cards
of EISA
that donot have their DMA engines needs to be set up using
the DMA
controllers. Setting up of DMA controller is not a over
head, as the
DMA is setup during the initialization. Later on just the
channel is
selected and the locations are marked. This is always going
to be
better than no DMA. The device driver writer is aware of the
DMA
capabilities and generate the code.

It is just the HBA (host bus adapter) or NIC that is in
picture while
doing DMA and not the disk e.t.c that is present on the
secondary
bus (like SCSI, IDE e.t.c). In PIO mode for every byte/word
transaction
CPU intervention is required and hence is slow.

Hope this helps,
Thanks,
Sumit

Anand Tiwari wrote:
> 
> i was going through the "understanding linux kernel" and i was wondering that
> how the kernel or the device driver choose the method for IO.
> is there any rule of thumb by which it decides whether it should go for  DMA
> or programmed IO.
> 
> i m pretty confused .. please help me out ?
> anand
> 
> -------------------------------------------------
> This mail sent through IMP: http://horde.org/imp/
> --
> Kernelnewbies: Help each other learn about the Linux kernel.
> Archive:       http://mail.nl.linux.org/kernelnewbies/
> FAQ:           http://kernelnewbies.org/faq/
begin:vcard 
n:Agarwal;Sumit
tel;fax:(91)(80)2200196
tel;home:+919845205210
tel;work:2051126
x-mozilla-html:FALSE
url:www.hp.com
org:HP-ISO;HPUX
version:2.1
email;internet:aksumit@india.hp.com
title:Senior Software Engineer
adr;quoted-printable:;;Hewlett-Packard,=0D=0AIndia Software Operation Pvt. Ltd.,=0D=0A29, Cunningham Road,=0D=0A;Bangalore;Karnataka;560052;India
fn:Sumit Agarwal
end:vcard

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux