mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mark Frazer <mark@mjfrazer.org>
To: "Richard B. Johnson" <root@chaos.analogic.com>
Cc: Linux Kernel List <linux-kernel@vger.kernel.org>
Subject: Re: [OT] scatter-gather ops within host memory on a PC
Date: Tue, 25 May 2004 14:08:14 -0400	[thread overview]
Message-ID: <20040525180814.GF10775@mjfrazer.org> (raw)
In-Reply-To: <Pine.LNX.4.53.0405251337210.1989@chaos>

Richard B. Johnson <root@chaos.analogic.com> [04/05/25 13:52]:
> Scatter-lists with DMA operations are quite common. Many Ethernet
> controllers that perform bus-master DMA use a chip that is either
> a (PLX) PCI 9080 or pretty-much a clone.

Yup, you're talking about PCI adapter to host scatter gather.  I was
staying within the host memory.  I was wanting to use the standard
ethernet drivers to do the transfer from the cards to the host.  Then
peek at the headers of the rx'd skbufs to set up another scatter-gather
operation to unmix the possibly out-of-order and certainly discontiguous
in host memory packets.

> The problem is that DMA does data-transfer to physical locations.
> If you only have one physical location (a page in DMA-able memory)
> its virtual to physical translation needs to be done only once.
> But, if you expect to write to/from user-mode buffers, the translation
> needs to be done every time the scatter-list is built. This is not
> some simple operation since user's pages are assembled from anywhere
> into what looks like contiguous space to the user, but physically
> can be anywhere. So somebody has got to scan a bunch of page-tables
> looking for the user's pages every time you build the scatter-list,
> i.e., every DMA transfer. This will surely take much more time than
> the current scheme.

You're getting at DIO: get_user_pages, pci_map_sg, sg_dma_address,
sg_dma_len and friends.  I can't quite do that for this application as I
want to reorder the data in the driver and present the application with
the in-order reassembled image.  The destination buffer for the
un-mixing SG operation will be the result of get_user_pages and friends
though.

cheers
-mark
-- 
They're great! They're like sex except I'm having them. - Fry

      reply	other threads:[~2004-05-25 18:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-25 17:09 Mark Frazer
2004-05-25 17:51 ` Richard B. Johnson
2004-05-25 18:08   ` Mark Frazer [this message]

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=20040525180814.GF10775@mjfrazer.org \
    --to=mark@mjfrazer.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=root@chaos.analogic.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®