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