From: Thomas Hellstrom <thellstrom@vmware.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Dave Airlie <airlied@redhat.com>,
"bugzilla-daemon@bugzilla.kernel.org"
<bugzilla-daemon@bugzilla.kernel.org>,
"devnull@plzk.org" <devnull@plzk.org>,
"dri-devel@lists.freedesktop.org"
<dri-devel@lists.freedesktop.org>
Subject: Re: [Bug 16148] New: page allocation failure. order:1, mode:0x50d0
Date: Fri, 11 Jun 2010 22:22:28 +0200 [thread overview]
Message-ID: <4C129B04.6050903@vmware.com> (raw)
In-Reply-To: <20100611102417.34a55945.akpm@linux-foundation.org>
On 06/11/2010 07:24 PM, Andrew Morton wrote:
> On Fri, 11 Jun 2010 10:46:07 +0200 Thomas Hellstrom<thellstrom@vmware.com> wrote:
>
>
>>>>>
>>>>>
>>>> David, I have a vague feeling that we've been round this loop before..
>>>>
>>>> Why does agp_alloc_page_array() use __GFP_NORETRY? It's pretty unusual
>>>> and it's what caused this spew.
>>>>
>>>> There's nothing in the changelog and the only relevant commentary
>>>> appears to be "This speeds things up and also saves memory for small
>>>> AGP regions", which is inscrutable. Can you please add a usable
>>>> comment there?
>>>>
>>>>
>>> cc'ing Thomas, who added this, I expect we could drop the NORETRY or
>>> just add NOWARN. Though an order 1 page alloc failure isn't a pretty
>>> sight, not sure how a vmalloc fallback could save us.
>>>
>>>
>>>
>> Hmm. IIRC that was an untested speed optimization back from the time
>> when I was
>> reading ldd3. I think the idea was to avoid slow allocations of (order>
>> 0) if they weren't
>> immediately available and fall back to vmalloc single page allocations.
>> It might be that that functionality is no longer preserved and only the
>> __GFP_NORETRY remains.
>> I think it should be safe to remove the NORETRY if it's annoying, but it
>> should probably be equally safe to add a NOWARN and keep the vmalloc
>> fallback.
>>
> An order-1 GFP_KERNEL allocation is a breeze - slub does them often, we
> use them for kernel stacks all the time. I'd say just remove the
> __GFP_NORETRY and be happy.
>
> In fact if the allocations are always this small I'd say we can remove
> the vmalloc fallback too. However if under some circumstances the
> allocations can be "large", say order-4 or higher then allocation
> failures are still a risk.
>
>
Actually, At that time I was working with a SiS GPU (128MiB system), and
was getting persistent failures for order 1 GFP_KERNEL page allocations
(albeit not in this codepath). So while they are highly unlikely for
modern systems, it might be worthwhile keeping the fallback.
/Thomas
next prev parent reply other threads:[~2010-06-11 20:23 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-16148-27@https.bugzilla.kernel.org/>
2010-06-10 22:38 ` [Bug 16148] New: page allocation failure. order:1, mode:0x50d0 Andrew Morton
2010-06-10 23:15 ` Dave Airlie
2010-06-11 8:46 ` Thomas Hellstrom
2010-06-11 17:24 ` Andrew Morton
2010-06-11 20:22 ` Thomas Hellstrom [this message]
2010-06-11 20:37 ` Andrew Morton
2010-06-11 21:39 ` Thomas Hellstrom
[not found] ` <201006131301.o5DD1vqb002755@demeter.kernel.org>
2010-06-15 22:41 ` [Bug 16148] " Andrew Morton
2010-06-15 22:57 ` Dave Airlie
2010-06-16 13:54 ` Mel Gorman
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=4C129B04.6050903@vmware.com \
--to=thellstrom@vmware.com \
--cc=airlied@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=bugzilla-daemon@bugzilla.kernel.org \
--cc=devnull@plzk.org \
--cc=dri-devel@lists.freedesktop.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