public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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

  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