From: Andi Kleen <ak@suse.de>
To: Alan <alan@lxorguk.ukuu.org.uk>
Cc: Larry Finger <Larry.Finger@lwfinger.net>,
Ray Lee <ray-lk@madrabbit.org>,
linux-kernel@vger.kernel.org
Subject: Re: Problem with DMA on x86_64 with 3 GB RAM
Date: Tue, 21 Nov 2006 19:31:53 +0100 [thread overview]
Message-ID: <200611211931.53802.ak@suse.de> (raw)
In-Reply-To: <20061121182726.7d31451f@localhost.localdomain>
> The documentation is correct, the implementation is broken. The
> documented behaviour works for all platforms except one whose maintainer
> has a problem with it and refuses to follow the spec.
The reference is still what i386 does.
> > Possibly, but devices that cannot address at least 4GB are normally
> > categorized as "hardware bugs" (or less polite descriptions) and those don't
> > tend to get much airtime in documentation.
>
> The rest of the kernel deals with hardware limitations,
Yes, but you don't find it normally in the documentation, just
in some very dark corners of the code.
> 30bit DMA works
> on the other platforms. This is an x86-64 platform problem. It
> misimplements the basic pci_ functionality.
Well, if you claim that then i386 misimplements it too.
Normally people don't hit it on 32bit because with the default user/kernel split
the limit is 900MB, which tends to be ok for most hardware. But you
could easily hit it with non standard __PAGE_OFFSET as it is now
possible to configure.
I claim x86-64 is bug to bug compatible to i386 as far as possible.
Since that is what drivers are typically written for it's the most
important specification.
> If it doesn't wish to
> implement the stuff (and there btw Andi I do think your view has
> considerable merit) it should fail the set_mask requests.
If it did like you're recommending a huge number of drivers
in the tree wouldn't work anymore (just think about what pci_alloc_consistent
does)
I have a long term master plan to merge GFP_DMA and swiotlb
into a single pool -- if that ever happens it might be possible
to fix it properly. But probably most of the drivers who needed
it wouldn't work anyways because they typically tend to forget
enough *_sync calls to make software bounce buffering work.
-Andi
next prev parent reply other threads:[~2006-11-21 18:32 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-15 19:01 bcm43xx regression 2.6.19rc3 -> rc5, rtnl_lock trouble? Ray Lee
2006-11-15 19:15 ` Michael Buesch
2006-11-15 19:41 ` Ray Lee
2006-11-16 2:51 ` Larry Finger
2006-11-16 5:51 ` Ray Lee
2006-11-18 11:24 ` Joseph Fannin
2006-11-18 16:55 ` Johannes Berg
2006-11-18 17:05 ` Larry Finger
2006-11-18 17:27 ` Ray Lee
2006-11-18 18:30 ` Adrian Bunk
2006-11-21 6:21 ` Ray Lee
2006-11-18 19:02 ` Larry Finger
2006-11-19 16:01 ` Michael Buesch
2006-12-12 4:06 ` ieee80211 sleeping in invalid context Ray Lee
2006-12-12 9:14 ` Michael Buesch
2006-12-12 17:51 ` Ray Lee
2006-12-12 18:31 ` Larry Finger
2006-11-19 6:15 ` Problem with DMA on x86_64 with 3 GB RAM Larry Finger
2006-11-21 4:38 ` Ray Lee
2006-11-21 11:28 ` Alan
2006-11-21 16:34 ` Larry Finger
2006-11-21 10:30 ` Andi Kleen
2006-11-21 16:37 ` Larry Finger
2006-11-21 16:46 ` Andi Kleen
2006-11-21 18:27 ` Alan
2006-11-21 18:31 ` Andi Kleen [this message]
2006-11-21 20:04 ` Alan
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=200611211931.53802.ak@suse.de \
--to=ak@suse.de \
--cc=Larry.Finger@lwfinger.net \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=linux-kernel@vger.kernel.org \
--cc=ray-lk@madrabbit.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