From: "Stephen C. Tweedie" <sct@redhat.com>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: Ian Pratt <m+Ian.Pratt@cl.cam.ac.uk>,
harry <harry@hebutterworth.freeserve.co.uk>,
xen-devel@lists.xensource.com, sanjay.kushwaha@gmail.com,
mark.williamson@cl.cam.ac.uk
Subject: Re: USB virt status --- Help please!!!
Date: Mon, 14 Nov 2005 13:50:39 -0500 [thread overview]
Message-ID: <1131994239.3989.41.camel@orbit.scot.redhat.com> (raw)
In-Reply-To: <681ca7ec21d7aac712bae9e9cde2c493@cl.cam.ac.uk>
Hi,
On Mon, 2005-11-14 at 18:42 +0000, Keir Fraser wrote:
> > That got fixed that by adding an arch-specific __alloc_skb which
> > avoided
> > crossing page boundaries by disabling CONFIG_DEBUG_SLAB for the skb
> > caches. But that fix is also something that I doubt maintainers will
> > allow to go upstream. I wonder if we'll find enough such special cases
> > that we really want to have a swiotlb available, just in case, at all
> > times?
>
> swiotlb performance is pretty poor since it involves memcpy. The
> alloc_skb fix was pretty clean, if we're allowed an arch hook for
> alloc_skb. We didn;t need to hack the slab allocator itself.
There are two different questions --- whether we should rely on swiotlb
in the general case, and whether we should have it available
just-in-case for edge cases.
I'm not suggesting that we fix the networking problem via swiotlb. But
that problem does make me wonder what other edge-cases remain lurking
that may bite users later; and if they exist, panicing the kernel when
we get an IO we can't translate directly is a lot worse than falling
back to a slow swiotlb path.
The fact is, on 2.6 the slab allocator can hand out objects (even
sub-pagesized ones) that cross page boundaries. If some driver happens
to allocate its own objects from a slab cache and run pci_map_single()
on them, it works fine on 2.6 mainline but breaks on Xen w/o swiotlb.
The alloc_skb is just avoiding one special case of this. It's an
important special case, sure, but to be robust, might we not want to
have a minimal swiotlb cache available at all times as fallback?
--Stephen
next prev parent reply other threads:[~2005-11-14 18:50 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-11 23:23 USB virt status Ian Pratt
2005-11-13 18:28 ` USB virt status --- Help please!!! Harry Butterworth
2005-11-14 9:56 ` Keir Fraser
2005-11-14 10:12 ` harry
2005-11-14 10:27 ` harry
2005-11-14 10:33 ` Keir Fraser
2005-11-14 17:30 ` Stephen C. Tweedie
2005-11-14 18:42 ` Keir Fraser
2005-11-14 18:50 ` Stephen C. Tweedie [this message]
2005-11-14 20:36 ` Harry Butterworth
2005-11-14 21:00 ` Muli Ben-Yehuda
2005-11-14 21:46 ` Muli Ben-Yehuda
2005-11-15 10:23 ` Keir Fraser
2005-11-15 19:14 ` Muli Ben-Yehuda
-- strict thread matches above, loose matches on Subject: below --
2005-11-15 22:36 Ian Pratt
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=1131994239.3989.41.camel@orbit.scot.redhat.com \
--to=sct@redhat.com \
--cc=Keir.Fraser@cl.cam.ac.uk \
--cc=harry@hebutterworth.freeserve.co.uk \
--cc=m+Ian.Pratt@cl.cam.ac.uk \
--cc=mark.williamson@cl.cam.ac.uk \
--cc=sanjay.kushwaha@gmail.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.