From: Andi Kleen <andi@firstfloor.org>
To: "Dave Airlie" <airlied@gmail.com>
Cc: "David Miller" <davem@davemloft.net>,
linux-kernel@vger.kernel.org, dri-devel@lists.sourceforge.net
Subject: Re: drm + 4GB RAM + swiotlb = drm craps out
Date: 02 Apr 2007 08:27:40 +0200 [thread overview]
Message-ID: <p731wj31ear.fsf@bingen.suse.de> (raw)
In-Reply-To: <21d7e9970704012215n67487549vbc7592a4f181e288@mail.gmail.com>
"Dave Airlie" <airlied@gmail.com> writes:
>
> On a 64-bit machine GFP_KERNEL can give me any memory... it all works
> fine on 32-bit highmem kernel as I don't get highmem... I really need
> __GFP_DMA32 memory but we don't have a generic allocator that gives
> this out that I can see..
__get_free_pages(..., __GFP_DMA32) on 64bit or __GFP_KERNEL or i386
(only gives you ~900MB)
> > Are you expecting to be able to virtually remap these pages in
> > PCI space as one huge 8MB chunk too and that's how swiotlb gets
> > involved? That won't work, sorry...
>
> Well I feed the bus address for each page into a GART table in the GPU
> and it does the linear stuff internally in the GPU memory
> controller...
>
> I suppose I want __GFP_I_D_RATHER_DIE_THAN_BOUNCE.
Not sure what you mean? __alloc_pages never bounces by itself.
The nearest you can get is __GFP_DMA/__GFP_DMA32, but these have
their own 16MB/4GB zones and don't use the swiotlb pools. And of course it
only gives you plain memory, but doesn't remap or copy anything.
I have some plans to unify this with swiotlb, but they're not done.
-Andi
next prev parent reply other threads:[~2007-04-02 5:29 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-01 23:44 drm + 4GB RAM + swiotlb = drm craps out Dave Airlie
2007-04-02 3:11 ` David Miller
2007-04-02 4:08 ` Dave Airlie
2007-04-02 5:08 ` David Miller
2007-04-02 5:15 ` Dave Airlie
2007-04-02 5:24 ` David Miller
2007-04-02 6:27 ` Andi Kleen [this message]
2007-04-02 5:38 ` Dave Airlie
2007-04-02 6:40 ` Andi Kleen
2007-04-02 6:52 ` Dave Airlie
2007-04-02 6:55 ` Andi Kleen
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=p731wj31ear.fsf@bingen.suse.de \
--to=andi@firstfloor.org \
--cc=airlied@gmail.com \
--cc=davem@davemloft.net \
--cc=dri-devel@lists.sourceforge.net \
--cc=linux-kernel@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