From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Scott Wood <scottwood@freescale.com>
Cc: Mingkai Hu <Mingkai.hu@freescale.com>,
linuxppc-dev@lists.ozlabs.org,
Shaohui Xie <Shaohui.Xie@freescale.com>,
Chen Yuanquan <B41889@freescale.com>
Subject: Re: [PATCH] powerpc/mm: add ZONE_NORMAL zone for 64 bit kernel
Date: Tue, 24 Jul 2012 08:20:30 +1000 [thread overview]
Message-ID: <1343082030.2957.38.camel@pasglop> (raw)
In-Reply-To: <500D7921.6060804@freescale.com>
On Mon, 2012-07-23 at 11:17 -0500, Scott Wood wrote:
> > This is wrong.
>
> How so?
>
> > Don't you have an iommu do deal with those devices anyway ?
>
> Yes, but we don't yet have DMA API support for it, it would lower
> performance because we'd have to use a lot of subwindows which are
> poorly cached (and even then we wouldn't be able to map more than 256
> pages at once on a given device), and the IOMMU may not be available at
> all if we're being virtualized.
Ugh ? You mean some designers need to be fired urgently and wasted
everybody's time implementing an unusable iommu ? Nice one ...
> > What about swiotlb ?
>
> That doesn't help with alloc_coherent().
Somewhat... you can use the pool, but it sucks.
> > If you *really* need to honor 32 (or 31 even) bit DMAs,
>
> 31-bit is to accommodate PCI, which has PEXCSRBAR that must live under 4
> GiB and can't be disabled.
>
> > what you -may- want to do is create a ZONE_DMA32 like other architectures, do not
> > hijack the historical ZONE_DMA.
>
> Could you point me to somewhere that clearly defines what ZONE_DMA is to
> be used for, such that this counts as hijacking (but using ZONE_DMA32 to
> mean 31-bit wouldn't)?
Habit and history. ZONE_DMA used to be about ISA DMA, doesn't apply to
us, and in general ZONE_NORMAL alias to it iirc. It's old stuff I
haven't looked for a long time.
However, my understanding is that what you are trying to solve is
exactly what ZONE_DMA32 was created for.
> The only arches I see using ZONE_DMA32 (x86 and
> mips) also have a separate, more restrictive ZONE_DMA.
And ? Who cares ? Drivers who know about a 32-bit limitations use
GFP_DMA32, that's what is expected, don't mess around with ZONE_DMA.
> PowerPC doesn't.
> It uses ZONE_DMA to point to all of memory (except highmem on 32-bit)
> -- how is that not hijacking, if this is? We can't have ZONE_DMA be
> less restrictive than ZONE_DMA32, because the fallback rules are
> hardcoded the other way around in generic code.
>
> The exact threshold for ZONE_DMA could be made platform-configurable.
>
> > But even then, I'm dubious this is really needed.
>
> We'd like our drivers to stop crashing with more than 4GiB of RAM on 64-bit.
Fix your HW :-)
Cheers,
Ben.
next prev parent reply other threads:[~2012-07-23 22:20 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-20 12:21 [PATCH] powerpc/mm: add ZONE_NORMAL zone for 64 bit kernel Shaohui Xie
2012-07-23 6:06 ` Benjamin Herrenschmidt
2012-07-23 16:17 ` Scott Wood
2012-07-23 22:20 ` Benjamin Herrenschmidt [this message]
2012-07-23 23:08 ` Tabi Timur-B04825
2012-07-23 23:12 ` Benjamin Herrenschmidt
2012-07-23 23:15 ` Timur Tabi
2012-07-23 23:29 ` Benjamin Herrenschmidt
2012-07-23 23:30 ` Benjamin Herrenschmidt
2012-07-24 1:37 ` Scott Wood
2012-07-23 23:36 ` Timur Tabi
2012-07-24 3:08 ` Benjamin Herrenschmidt
2012-07-24 3:52 ` Tabi Timur-B04825
2012-07-24 3:59 ` Zang Roy-R61911
2012-07-24 4:04 ` Tabi Timur-B04825
2012-07-24 4:45 ` Benjamin Herrenschmidt
2012-07-24 8:01 ` Bhushan Bharat-R65777
2012-07-24 1:49 ` Scott Wood
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=1343082030.2957.38.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=B41889@freescale.com \
--cc=Mingkai.hu@freescale.com \
--cc=Shaohui.Xie@freescale.com \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=scottwood@freescale.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.