![]() | ||||||||||
Messages in this thread |
Hi, I'm working on a problem involving zero-copy between an external device and physical memory, where the total length of data is not known in advance, where allowance must be made for non-contiguous pages in physical memory and where any number of simultaneous channels can be going in parallel. Whilst I am waiting for suitable medication to arrive, I've been trying to figure out a way in which this problem can be solved. My first question would be: has anyone already solved this, thus saving my sanity? When I've looked up zero-copy, the main reference I've found is for moving data from fixed storage to a network. This is useful, but doesn't quite solve the problem at hand, as you never need more than a page at a time, so don't have memory fragmentation to contend with. My second question is then: assuming that zero-copy in these situations has been deemed a Bad Idea for whatever reason, what is the fastest method of doing bi-directional transfers? (Feel free to assume some logic on the device.) Finally, I'd be interested in hearing the opinions of Linux kernel developers on using structured memory groups in the kernel for parallel I/O of this kind, abandoning the zero-copy approach. Although I know a fair number of kernel projects, I don't know of one that uses SMGs - am I missing some obvious ones or is there a known reason for avoiding the SMG approach? Jonathan Day ____________________________________________________________________________________ Want to start your own business? Learn how on Yahoo! Small Business. http://smallbusiness.yahoo.com/r-index - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ | |||||||||
| Last update: 2006-11-10 05:49 [from the cache] ©2003-2008 | ||||||||||