From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: David Miller <davem@davemloft.net>
Cc: linux-input@atrey.karlin.mff.cuni.cz,
linux-kernel@vger.kernel.org, paulus@samba.org, anton@samba.org,
greg@kroah.com
Subject: Re: DMA APIs gumble grumble
Date: Fri, 10 Nov 2006 13:55:27 +1100 [thread overview]
Message-ID: <1163127327.4982.79.camel@localhost.localdomain> (raw)
In-Reply-To: <20061109.185026.07639529.davem@davemloft.net>
> pci_alloc_consistent() is not allowed from atomic contexts.
Yes, but some drivers did it anyway, though I can't remember under which
circumstances (IDE probe possibly ? It's a usual culprit for that sort
of thing). This is why most implementations use GFP_ATOMIC (including
sparc64 :-)
> > I'm splitting it into a pci_do_alloc_consistent that takes a gfp arg,
> > and a pair of pci_alloc_consistent & dma_alloc_consistent wrappers.
> >
> > Do you think I should have the former pass GFP_KERNEL like the current
> > implementation does or switch it to GFP_ATOMIC like everybody does ? In
> > this case, should I also change the kmalloc done in there to allocate a
> > struct resource to use the gfp argument ? (It's currently doing
> > GFP_KERNEL).
>
> pci_alloc_consistent() really cannot be allowed to use GFP_ATOMIC.
Oh well, I have no problem with leaving sparc32 do GFP_KERNEL indeed, I
can't remember for sure the reason why we have most architectures do
GFP_ATOMIC, but it probably never hit sparc32.
Ben.
next prev parent reply other threads:[~2006-11-10 2:55 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-08 1:54 DMA APIs gumble grumble Benjamin Herrenschmidt
2006-11-08 4:46 ` David Miller
2006-11-08 5:23 ` Benjamin Herrenschmidt
2006-11-08 5:29 ` David Miller
2006-11-08 5:44 ` Benjamin Herrenschmidt
2006-11-10 1:02 ` Benjamin Herrenschmidt
2006-11-10 2:50 ` David Miller
2006-11-10 2:55 ` Benjamin Herrenschmidt [this message]
2006-11-10 3:01 ` David Miller
2006-11-10 4:07 ` Benjamin Herrenschmidt
2006-11-08 8:25 ` Muli Ben-Yehuda
2006-11-08 8:47 ` Benjamin Herrenschmidt
2006-11-08 9:21 ` Muli Ben-Yehuda
2006-11-08 10:00 ` Benjamin Herrenschmidt
2006-11-08 22:56 ` Russell King
2006-11-08 23:41 ` Benjamin Herrenschmidt
2006-11-09 0:43 ` Benjamin Herrenschmidt
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=1163127327.4982.79.camel@localhost.localdomain \
--to=benh@kernel.crashing.org \
--cc=anton@samba.org \
--cc=davem@davemloft.net \
--cc=greg@kroah.com \
--cc=linux-input@atrey.karlin.mff.cuni.cz \
--cc=linux-kernel@vger.kernel.org \
--cc=paulus@samba.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.