in-kernel data transfer between devices

From: Ameya Mitragotri
Date: Fri Mar 23 2007 - 15:11:25 EST


Hello,
I'm trying to write data from device memory (VRAM in this case) to the
HDD with a kernel module. I want to avoid using the cache so i tried
to do a direct-io. Reading the code i figured it used 'get_user_pages'
and since VRAM is io mapped, those pages are marked VM_IO and hence
directio fails. Why is it taboo to write VM_IO pages using directio?
(is it because Device -> Device DMA is not possible?)

Now attempting to still do the same, im trying to copy VRAM data to a
buffer and still try and use the directio path. it will mean bypassing
the get_user_pages and may mean ugly hacking, but then i also read a
little about splice. Wondering if splice is the way to go for a
device memory to disk in kernel data transfer?

I'm doing the above as an experiment. My actual goal is to transfer
data between devices in-kernel.

Thanks
Ameya
-
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/