From: Olof Johansson <olof@lixom.net>
To: Andrew Grover <andrew.grover@intel.com>
Cc: netdev@vger.kernel.org
Subject: Re: [PATCH 0/10] [IOAT] I/OAT patches repost
Date: Thu, 20 Apr 2006 16:33:05 -0500 [thread overview]
Message-ID: <20060420213305.GK26746@pb15.lixom.net> (raw)
In-Reply-To: <Pine.LNX.4.44.0604201329300.22544-100000@isotope.jf.intel.com>
On Thu, Apr 20, 2006 at 01:49:16PM -0700, Andrew Grover wrote:
> Hi I'm reposting these, originally posted by Chris Leech a few weeks ago.
> However, there is an extra part since I broke up one patch that was too
> big for netdev last time into two (patches 2 and 3).
>
> Of course we're always looking for more style improvement comments, but
> more importantly we're posting these to talk about the larger issues
> around I/OAT and this code making it in upstream at some point.
>
> These are also available on the wiki,
> http://linux-net.osdl.org/index.php/I/OAT .
Hi,
Since you didn't provide the current issues in this email, I will copy
and paste them from the wiki page.
I guess the overall question is, how much of this needs to be addressed
in the implementation before merge, and how much should be done when
more drivers (with more features) are merged down the road. It might not
make sense to implement all of it now if the only available public
driver lacks the abilities. But I'm bringing up the points anyway.
Maybe it could make sense to add a software-based driver for reference,
and for others to play around with.
I would also prefer to see the series clearly split between the DMA
framework and first clients (networking) and the I/OAT driver. Right now
"I/OAT" and "DMA" is used interchangeably, especially when describing
the later patches. It might help you in the perception that this is
something unique to the Intel chipsets as well. :-)
(I have also proposed DMA offload discussions as a topic for the Kernel
Summit. I have kept Chris Leech Cc:d on most of the emails in question. It
should be a good place to get input from other subsystems regarding what
functionality they would like to see provided, etc.)
>From the wiki:
> Current issues of concern:
>
> 1. Performance improvement may be on too narrow a set of workloads
Maybe from I/OAT and the current client, but the introduction of the
DMA infrastructure opens up for other uses that are not yet possible in
the API. For example, DMA with functions is a very natural extension,
and something that's very common on various platforms (XOR for RAID use,
checksums, encryption).
The API needs to be expanded to cover this by adding function types and
adding them to the channel allocation interface and logic.
> 2. Limited availability of hardware supporting I/OAT
DMA engines are fairly common, even though I/OAT might not be yet. They
just haven't had a common infrastructure until now.
For people who might want to play with it, a reference software-based
implementation might be useful.
> 3. Data copied by I/OAT is not cached
This is a I/OAT device limitation and not a global statement of the
DMA infrastructure. Other platforms might be able to prime caches
with the DMA traffic. Hint flags should be added on either the channel
allocation calls, or per-operation calls, depending on where it makes
sense driver/client wise.
> 4. Intrusiveness of net stack modifications
> 5. Compatibility with upcoming VJ net channel architecture
Both of these are outside my scope, so I won't comment on them at this
time.
I would like to add, for longer term:
* Userspace interfaces:
Are there any plans yet on how to export some of this to userspace? It
might not make full sense for just memcpy due to overheads, but it makes
sense for more advanced dma/offload engines.
-Olof
next prev parent reply other threads:[~2006-04-20 21:41 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-20 20:49 [PATCH 0/10] [IOAT] I/OAT patches repost Andrew Grover
2006-04-20 21:33 ` Olof Johansson [this message]
2006-04-20 22:14 ` Andrew Grover
2006-04-20 23:33 ` Olof Johansson
2006-04-21 0:44 ` David S. Miller
2006-04-21 3:09 ` Olof Johansson
2006-04-21 0:38 ` David S. Miller
2006-04-21 1:02 ` Rick Jones
2006-04-21 2:23 ` Herbert Xu
2006-04-21 0:27 ` David S. Miller
2006-04-21 1:00 ` Rick Jones
2006-04-21 1:13 ` David S. Miller
2006-04-21 17:12 ` Rick Jones
2006-04-27 23:49 ` Chris Leech
2006-04-27 23:53 ` Rick Jones
2006-04-21 3:04 ` Olof Johansson
2006-04-21 3:42 ` David S. Miller
2006-04-21 4:42 ` Olof Johansson
2006-04-27 23:45 ` Chris Leech
2006-04-21 17:13 ` Ingo Oeser
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=20060420213305.GK26746@pb15.lixom.net \
--to=olof@lixom.net \
--cc=andrew.grover@intel.com \
--cc=netdev@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).