All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Day <imipak@yahoo.com>
To: linux-kernel@vger.kernel.org
Subject: Zero-copy question
Date: Thu, 9 Nov 2006 21:44:13 -0800 (PST)	[thread overview]
Message-ID: <232602.80524.qm@web31502.mail.mud.yahoo.com> (raw)

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

                 reply	other threads:[~2006-11-10  5:44 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=232602.80524.qm@web31502.mail.mud.yahoo.com \
    --to=imipak@yahoo.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.