On Fri, Feb 6, 2015 at 2:59 AM, Bhasker C V <bhas...@unixindia.com> wrote:
> could it be because with USB-SSD the kernel detects it as drive (smart > works and also does hdparm) and uses DMA whereas in USB-SD kernel > detects and attaches to usbstor but then has to do pio and cpu > intensive low efficency transfer methods rather than DMA ? > This means that kernel is doing a lot of job to write/read to usb and > will not show up in top ... but still since CPU is being used > constantly CPU gets heated up .... > just a hypothesis ... someone can comment on this > > if that is the case how to force UDMA for usb memorystick kind of devices ? > tried googling ... no answer > > ~$ sudo hdparm -I /dev/sda |grep -E "PIO|DMA" DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 PIO: pio0 pio1 pio2 pio3 pio4 ~$ sudo hdparm -I /dev/sdb |grep -E "PIO|DMA" SG_IO: bad/missing sense data, sb[]: 70 00 05 00 00 00 00 0a 00 00 00 00 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 DMA: not supported PIO: pio0 That hdparm switch is capital "i", not lowercase "L"... sda is an ATA drive, and sdb is a usb stick in the above examples. You cannot force that sdb use dma since it doesn't support dma. In case of a drive that supports dma, then "hdparm -d" should help. I'd expect that even though PIO is a cpu intensive IO, system should not stay that heated when it is idle IO wise. I'd try the same using a usb stick to observe the result and compare... Regards, Burhan