public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Martin Bligh <mbligh@mbligh.org>
To: Christoph Lameter <clameter@sgi.com>
Cc: Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org,
	Christoph Lameter <clameter@engr.sgi.com>
Subject: Re: ZONE_DMA
Date: Thu, 21 Sep 2006 09:57:13 -0700	[thread overview]
Message-ID: <4512C469.5060107@mbligh.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0609210854210.5626@schroedinger.engr.sgi.com>

Christoph Lameter wrote:
> On Wed, 20 Sep 2006, Martin J. Bligh wrote:
> 
> 
>>>ZONE_DMA is only used as ZONE_NORMAL if the architecture does not need
>>>ZONE_NORMAL because all of memory is reachable via DMA.
>>
>>That's still inconsistent because it doesn't say DMA for *which*
>>device.
> 
> 
> Thats the way ZONE_DMA works right now and AFAIK the only way forward is 
> to make it optional and then introduce another way of allocating memory
> for a device. The migrate away from it. The first step is to allow people
> who do not need ZONE_DMA to opt out.

OK. Let's leave aside the issue for a second of whether ZONE_DMA should
be configurable or not (ie your patch), and just worry about how this
works in practice going forwards in the short term. Don't get me wrong,
I'd love to kill ZONE_DMA, or at least the 16MB way it's implemented in
i386 right now.

I presume the fallback order for everything is still
HIGHMEM -> NORMAL -> DMA, and nobody is proposing changing that.
(ignoring DMA32 to keep thing simpler).

If a device driver wants "DMAable" memory, and thus does a ZONE_DMA 
allocation, and we've moved all its memory from ZONE_DMA to ZONE_NORMAL
(as I think you're proposing doing for PPC64 (and ia64?)), then the
allocation will fail.

So are we saying that no driver code should be calling with GFP_DMA
(a quick grep turns up 148 instances under driver/), that if they do
they should only work on specific architectures (some instances were
s390-only drivers)? If so, should we not be removing the definiton of
GFP_DMA itself if ZONE_DMA is config'ed out, so that it fails at
compile time, rather than runtime?

>>AFAICS, the correct way to do this is have the requestor pass a memory
>>bound into the allocator, and have the arch figure out which zones
>>are applicable.
> 
> Exactly. But you cannot do that with ZONE_DMA __GFP_DMA. We likely need a 
> new page  allocator API for that.

Glad we're agreed on that, at least.

M.

  reply	other threads:[~2006-09-21 16:57 UTC|newest]

Thread overview: 128+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-20 20:54 2.6.19 -mm merge plans Andrew Morton
2006-09-20 21:08 ` Jeff Garzik
2006-09-20 21:42 ` Badari Pulavarty
2006-09-20 21:53 ` USB: fix autosuspend-autoresume with CONFIGRe: " Jiri Kosina
2006-09-20 22:09   ` Andrew Morton
2006-09-20 22:41     ` Greg KH
2006-09-20 21:55 ` Autofs4 breakage (was 2.6.19 -mm merge plans) Trond Myklebust
2006-09-20 22:13   ` Andrew Morton
2006-09-21  3:39   ` Andrew Morton
2006-09-21 23:25     ` Trond Myklebust
2006-09-22 15:55       ` Andrew Morton
2006-09-26  4:10   ` Ian Kent
2006-09-21  0:09 ` 2.6.19 -mm merge plans Martin J. Bligh
2006-09-21  0:22   ` ZONE_DMA (was: Re: 2.6.19 -mm merge plans) Andrew Morton
2006-09-21  0:31     ` Christoph Lameter
2006-09-21  1:03       ` Alan Cox
2006-09-21 15:59         ` James Bottomley
2006-09-21  0:50     ` ZONE_DMA Martin J. Bligh
2006-09-21  1:10       ` ZONE_DMA Christoph Lameter
2006-09-21  1:23         ` ZONE_DMA Martin J. Bligh
2006-09-21 15:58           ` ZONE_DMA Christoph Lameter
2006-09-21 16:57             ` Martin Bligh [this message]
2006-09-21 17:54               ` ZONE_DMA Christoph Lameter
2006-09-21 23:15                 ` ZONE_DMA Martin Bligh
2006-09-22  2:59                   ` ZONE_DMA Christoph Lameter
2006-09-22 17:21                     ` ZONE_DMA Jesse Barnes
2006-09-22 17:39                       ` ZONE_DMA Jesse Barnes
2006-09-22 18:08                         ` ZONE_DMA Christoph Lameter
2006-09-22 18:26                           ` ZONE_DMA Jesse Barnes
2006-09-22 18:32                             ` ZONE_DMA Christoph Lameter
2006-09-22 18:39                               ` ZONE_DMA Jesse Barnes
2006-09-22 18:40                                 ` ZONE_DMA Christoph Lameter
2006-09-22 19:06                                   ` ZONE_DMA Jesse Barnes
2006-09-22 19:07                                     ` ZONE_DMA Christoph Lameter
2006-09-22 17:35                     ` ZONE_DMA Martin Bligh
2006-09-22 17:37                       ` ZONE_DMA Christoph Lameter
2006-09-21  0:40   ` 2.6.19 -mm merge plans Christoph Lameter
2006-09-21  2:28 ` 2.6.19 -mm merge plans (NTP changes) john stultz
2006-09-21  2:40   ` Andrew Morton
2006-09-21 10:24   ` Roman Zippel
2006-09-25 16:50     ` john stultz
2006-09-25 17:04       ` Ray Lee
2006-09-25 17:38         ` Roman Zippel
2006-09-21  4:22 ` 2.6.19 -mm merge plans Jeff Garzik
2006-09-21  5:07   ` Andrew Morton
2006-09-21  5:23     ` Linus Torvalds
2006-09-21  9:12       ` Alan Cox
2006-09-21  6:36     ` Jeff Garzik
2006-09-21  6:48       ` Andrew Morton
2006-09-21 11:10         ` Rafael J. Wysocki
2006-09-22 13:16         ` release cycle (Re: 2.6.19 -mm merge plans) Pavel Machek
2006-09-21  9:16     ` 2.6.19 -mm merge plans Alan Cox
2006-09-21 10:55       ` Jan Engelhardt
2006-09-21 15:25       ` Linus Torvalds
2006-09-21 15:50         ` Jan Engelhardt
2006-09-21 17:59         ` Andrew Morton
2006-09-21 18:20           ` Jeff Garzik
2006-09-21 18:22           ` Linus Torvalds
2006-09-21 18:33             ` Jeff Garzik
2006-09-21 18:55               ` Andrew Morton
2006-09-21 19:46               ` Adrian Bunk
2006-09-21 20:37                 ` Diego Calleja
2006-09-21 21:35                   ` Randy.Dunlap
2006-09-21 20:38                 ` Jeff Garzik
2006-09-21 20:49                   ` Adrian Bunk
2006-09-21 21:33             ` Bill Davidsen
2006-09-21 21:33               ` Jeff Garzik
2006-09-21 21:52                 ` David Miller
2006-09-21 22:05                   ` Dave Jones
2006-09-21 22:44                     ` David Miller
2006-09-22  8:35                     ` Russell King
2006-09-22 15:48                       ` Dave Jones
2006-09-22 16:21                         ` Linus Torvalds
2006-09-22 20:08                           ` Roland Dreier
2006-09-22 20:22                             ` Jeff Garzik
2006-09-23  8:29                               ` Ryan Anderson
2006-09-24  7:48                           ` Lennert Buytenhek
2006-09-24  9:20                             ` Russell King
     [not found]                               ` <20060924142353.6c725128.seanlkml@sympatico.ca>
2006-09-24 18:23                                 ` Sean
2006-09-24 22:34                                   ` Stefan Richter
     [not found]                                     ` <20060924190758.132c0008.seanlkml@sympatico.ca>
2006-09-24 23:07                                       ` Sean
2006-09-24 23:09                                 ` Russell King
     [not found]                                   ` <20060924192308.ef60880a.seanlkml@sympatico.ca>
2006-09-24 23:23                                     ` Sean
2006-09-25  0:48                                       ` Linus Torvalds
2006-10-11 14:09                                         ` Pierre Ossman
2006-09-24 19:38                               ` Mike Galbraith
2006-09-22 16:24                         ` Alan Cox
2006-09-22 16:08                           ` Dave Jones
2006-09-22 16:29                         ` Jeff Garzik
2006-09-22 17:09                           ` Dave Jones
2006-09-22 17:11                           ` Dave Jones
2006-09-22 18:26                             ` Jeff Garzik
2006-09-22 18:26                         ` Andrew Morton
2006-09-24  6:33                           ` Lennert Buytenhek
2006-09-22  1:03                 ` Bill Davidsen
2006-09-24 18:51             ` Ingo Molnar
2006-09-25  3:07               ` Nick Piggin
2006-09-25 11:53                 ` Ingo Molnar
2006-09-25 18:57                   ` Rafael J. Wysocki
2006-09-22  6:33           ` Andi Kleen
2006-09-23  8:06   ` Andrew Morton
2006-09-23  9:52     ` David Woodhouse
2006-09-21 13:14 ` Ingo Molnar
2006-09-21 17:35   ` Andrew Morton
2006-09-22 13:06   ` Pavel Machek
2006-09-22 19:01     ` Ingo Molnar
2006-09-22 20:29       ` hires timer patchset [was Re: 2.6.19 -mm merge plans] Bill Rugolsky Jr.
2006-09-23 11:07       ` 2.6.19 -mm merge plans Pavel Machek
2006-09-22 20:12     ` Dave Jones
2006-09-21 14:04 ` Apple Motion Sensor (was: 2.6.19 -mm merge plans) Michael Hanselmann
     [not found] ` <20060921234637.GA9742@mail.ustc.edu.cn>
2006-09-21 23:46   ` 2.6.19 -mm merge plans Fengguang Wu
2006-09-21 23:59     ` Andrew Morton
     [not found]       ` <20060922003223.GA9952@mail.ustc.edu.cn>
2006-09-22  0:32         ` Fengguang Wu
2006-09-23 14:48           ` Gene Heskett
     [not found]             ` <20060924024239.GA11671@mail.ustc.edu.cn>
2006-09-24  2:42               ` Fengguang Wu
2006-09-24 14:25           ` Diego Calleja
2006-09-22  9:24 ` David Woodhouse
2006-09-22 10:10   ` David Woodhouse
2006-09-22 10:42     ` Jan Engelhardt
2006-09-22 11:20       ` David Woodhouse
2006-09-22 14:48     ` Randy.Dunlap
2006-09-23 10:44   ` David Woodhouse
2006-09-22 12:32 ` 2.6.19 -mm merge plans: AVR32 Haavard Skinnemoen
2006-09-22 14:42 ` 2.6.19 -mm merge plans Christoph Hellwig
2006-09-22 16:03   ` 2.6.19 -mm merge plans (ecryptfs) Andrew Morton
2006-09-22 16:53     ` Michael Halcrow
2006-09-25 14:59 ` [PATCH -mm updated] PCMCIA: Add few IDs into ide-cs Marcin Juszkiewicz
2006-09-25 15:48   ` Alan Cox

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=4512C469.5060107@mbligh.org \
    --to=mbligh@mbligh.org \
    --cc=akpm@osdl.org \
    --cc=clameter@engr.sgi.com \
    --cc=clameter@sgi.com \
    --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