From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Jeff Garzik <jgarzik@pobox.com>,
Jens Axboe <jens.axboe@oracle.com>,
LKML <linux-kernel@vger.kernel.org>,
Ian Campbell <Ian.Campbell@eu.citrix.com>
Subject: Re: [PATCH 5 of 5] xen: Avoid allocations causing swap activity on the resume path
Date: Sat, 31 May 2008 11:10:18 +0100 [thread overview]
Message-ID: <4841240A.1000008@goop.org> (raw)
In-Reply-To: <20080531025949.7c8b17bc.akpm@linux-foundation.org>
Andrew Morton wrote:
> On Sat, 31 May 2008 10:50:40 +0100 Jeremy Fitzhardinge <jeremy@goop.org> wrote:
>
>> Does __GFP_HIGH necessarily mean that it won't try to
>> do IO to push pages out?
>>
>
> Nope.
>
> __GFP_FS: may enter filesystems
> __GFP_IO: may perform IO
>
> __GFP_IO also means "may do swapout". Even when swap is on a regular
> file. This is because we do all the fs-related operations up-front
> during swapon. So at alloc_pages()-time we can go direct-to-disk-blocks.
>
> So I assume for this application you'll need GFP_NOIO. That's still
> heaps better than GFP_ATOMIC, because it can sleep and wait for kswapd
> to do stuff, and it can reclaim clean pagecache and clean swapcache.
>
OK, I'll respin with GFP_NOIO.
> Whether you should also add __GFP_HIGH to cause the page allocation to
> bite harder into the page reserves is unclear to me, sorry.
>
Well, if the allocation fails the machine is dead in the water, because
it probably can't go on without its devices. I think it's worth eating
to the reserves to avoid that. (I'll have a close look to only add it
to allocations which are really unrecoverable if they fail.)
Thanks,
J
next prev parent reply other threads:[~2008-05-31 10:11 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-05-31 0:01 [PATCH 0 of 5] xen device driver updates [resend] Jeremy Fitzhardinge
2008-05-31 0:01 ` [PATCH 1 of 5] xen/blkfront: Make sure we don't use bounce buffers, we don't need them Jeremy Fitzhardinge
2008-05-31 1:55 ` Jeff Garzik
2008-05-31 0:01 ` [PATCH 2 of 5] xn/blkfront: Add the CDROM_GET_CAPABILITY ioctl to blkfront Jeremy Fitzhardinge
2008-05-31 1:57 ` Jeff Garzik
2008-05-31 7:08 ` Jeremy Fitzhardinge
2008-05-31 0:01 ` [PATCH 3 of 5] xen/blkfront: Make sure that the device is fully ready before allowing release Jeremy Fitzhardinge
2008-05-31 0:01 ` [PATCH 4 of 5] xen/blkfront: add __exit to module_exit() handlers Jeremy Fitzhardinge
2008-05-31 1:57 ` Jeff Garzik
2008-05-31 0:01 ` [PATCH 5 of 5] xen: Avoid allocations causing swap activity on the resume path Jeremy Fitzhardinge
2008-05-31 1:58 ` Jeff Garzik
2008-05-31 9:50 ` Jeremy Fitzhardinge
2008-05-31 9:59 ` Andrew Morton
2008-05-31 10:10 ` Jeremy Fitzhardinge [this message]
2008-05-31 23:47 ` Andrew Morton
2008-06-01 0:38 ` Jeremy Fitzhardinge
2008-05-31 1:54 ` [PATCH 0 of 5] xen device driver updates [resend] Jeff Garzik
2008-05-31 6:31 ` Jeremy Fitzhardinge
-- strict thread matches above, loose matches on Subject: below --
2008-05-30 23:50 [PATCH 0 of 5] xen device driver updates Jeremy Fitzhardinge
2008-05-30 23:50 ` [PATCH 5 of 5] xen: Avoid allocations causing swap activity on the resume path Jeremy Fitzhardinge
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=4841240A.1000008@goop.org \
--to=jeremy@goop.org \
--cc=Ian.Campbell@eu.citrix.com \
--cc=akpm@linux-foundation.org \
--cc=jens.axboe@oracle.com \
--cc=jgarzik@pobox.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