All of lore.kernel.org
 help / color / mirror / Atom feed
From: Keir Fraser <keir@xensource.com>
To: David Edmondson <dme@sun.com>, Jan Beulich <jbeulich@novell.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: 3.0.4 (and earlier): skbuff_ctor() use of xen_create_contiguous_region()
Date: Fri, 09 Mar 2007 14:06:47 +0000	[thread overview]
Message-ID: <C2171A77.B23E%keir@xensource.com> (raw)
In-Reply-To: <20070309123724.GQ25301@cheesecake.uk.sun.com>

On 9/3/07 12:37, "David Edmondson" <dme@sun.com> wrote:

> So that a multi-page packet is physically contiguous when passed to
> the NIC for transmit?
> 
> If it's not physically contiguous and the NIC hardware can't do
> scatter gather then the driver has to re-allocate and copy.

Yes, it was originally intended for drivers that would do dma_map_single()
on the whole multi-page network buffer (for receive and/or transmit
buffers). Of course we still potentially have this issue and will now end up
falling back to swiotlb at the time of the dma_map_single() call. It's only
(usually) an issue for jumbo-frame systems since kmalloc() will not usually
return page-straddling allocations for sub-page requests. Also the custom
allocator did not help the transmit-from-domU case since jumbo packets are
always fragged across netfront/netback, and then many drivers will handle
fragged packets efficiently. But it could have helped the receive-to-domU
case by avoiding an extra copy, as most drivers want to allocate a single
contiguous buffer for jumbo frames.

 -- Keir

      parent reply	other threads:[~2007-03-09 14:06 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-09 12:17 3.0.4 (and earlier): skbuff_ctor() use of xen_create_contiguous_region() Jan Beulich
2007-03-09 12:37 ` David Edmondson
2007-03-09 12:45   ` Jan Beulich
2007-03-09 12:58     ` David Edmondson
2007-03-09 14:08     ` Keir Fraser
2007-03-09 14:06   ` Keir Fraser [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=C2171A77.B23E%keir@xensource.com \
    --to=keir@xensource.com \
    --cc=dme@sun.com \
    --cc=jbeulich@novell.com \
    --cc=xen-devel@lists.xensource.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 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.