From: David Miller <davem@davemloft.net>
To: airlied@gmail.com
Cc: linux-kernel@vger.kernel.org, dri-devel@lists.sourceforge.net
Subject: Re: drm + 4GB RAM + swiotlb = drm craps out
Date: Sun, 01 Apr 2007 22:08:41 -0700 (PDT) [thread overview]
Message-ID: <20070401.220841.89389711.davem@davemloft.net> (raw)
In-Reply-To: <21d7e9970704012108m5fd9797bk45c4b39892c8d36f@mail.gmail.com>
From: "Dave Airlie" <airlied@gmail.com>
Date: Mon, 2 Apr 2007 14:08:13 +1000
> > >
> > > So when swiotlb happens, as you can guess it all falls apart as the
> > > drm never calls sync functions at any stage...
> >
> > You would have hit this on any platform that does caching
> > in the PCI controller as well.
>
> We must not have a great intersect of radeon and such systems..
It might explain why my machine hung when I tried to use
radeon with DRM on my sparc64 workstation :-) I have
investigating that on my todo list.
> It currently is required to be in a big 8MB chunk as it gets chopped
> up by the X server not the kernel, so kernel needs to allocate pages
> to back it when X inits, yes this is ugly, no it can't be fixed
> without time-travelling and fixing deployed X servers...
>
> Really we probably only need the ring buffer to be in coherent memory,
> the rest of the stuff is used for DMA buffers which are mainly filled
> by the CPU and read by the GPU. However I cannot change this without
> breaking X, the solution is really to use TTM for this sort of
> stuff.... I'm a bit worried as the AGP driver now uses vmalloc_32
> which really is a meaningless interface on 64-bit systems..
I don't know what to recommend to you, getting 8MB of linear memory
really just isn't practical.
Perhaps we'll have to create something ugly like vmalloc_nobounce().
Remind me again why you're ending up with swiotlb'd pages?
vmalloc_32() uses GFP_KERNEL which should use entirely lowmem and thus
RAM below 4GB and not anything which should need bounce buffering.
You should only get swiotlb'd pages if __GFP_HIGHMEM were set in
the gfp flags.
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...
next prev parent reply other threads:[~2007-04-02 5:08 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 [this message]
2007-04-02 5:15 ` Dave Airlie
2007-04-02 5:24 ` David Miller
2007-04-02 6:27 ` Andi Kleen
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=20070401.220841.89389711.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=airlied@gmail.com \
--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