From: "Alex Villacís Lasso" <avillaci@fiec.espol.edu.ec>
To: Andrea Arcangeli <aarcange@redhat.com>
Cc: Mel Gorman <mel@csn.ul.ie>,
Andrew Morton <akpm@linux-foundation.org>,
avillaci@ceibo.fiec.espol.edu.ec,
bugzilla-daemon@bugzilla.kernel.org,
bugme-daemon@bugzilla.kernel.org, linux-mm@kvack.org
Subject: Re: [Bugme-new] [Bug 31142] New: Large write to USB stick freezes unrelated tasks for a long time
Date: Fri, 08 Apr 2011 15:06:14 -0500 [thread overview]
Message-ID: <4D9F6AB6.6000809@fiec.espol.edu.ec> (raw)
In-Reply-To: <20110408190912.GI29444@random.random>
El 08/04/11 14:09, Andrea Arcangeli escribio:
> Hi Alex,
>
> On Mon, Apr 04, 2011 at 10:37:44AM -0500, Alex Villaci-s Lasso wrote:
>> Latest update: with 2.6.39-rc1 the stalls only last for a few
>> seconds, but they are still there. So, as I said before, they are
>> reduced but not eliminated.
> Ok from a complete stall for the whole duration of the I/O to a few
> second stall we're clearly going into the right direction.
>
> The few second stalls happen with udf? And vfat doesn't stall?
>
> Minchan rightly pointed out that the (panik) change we made in
> page_alloc.c changes the semantics of the __GFP_NO_KSWAPD bit. I also
> talked with Mel about it. We think it's nicer if we can keep THP
> allocations as close as any other high order allocation as
> possible. There are already plenty of __GFP bits with complex
> semantics. __GFP_NO_KSWAPD is simple and it's nice to stay simple: it
> means the allocation relies on a different kernel daemon for the
> background work (which is khugepaged instead of kswapd in the THP
> case, where khugepaged uses a non intrusive alloc_sleep_millisec
> throttling in case of MM congestion, unlike kswapd would do).
>
> So this is no solution to your problem (if vfat already works I think
> that might be a better solution), but we'd like to know if you get any
> _worse_ stall compared to current 2.6.39-rc, by applying the below
> patch on top of 2.6.39-rc. If this doesn't make any difference, we can
> safely apply it to remove unnecessary complications.
>
> Thanks,
> Andrea
>
> ===
> Subject: compaction: reverse the change that forbid sync migraton with __GFP_NO_KSWAPD
>
> From: Andrea Arcangeli<aarcange@redhat.com>
>
> It's uncertain this has been beneficial, so it's safer to undo it. All other
> compaction users would still go in synchronous mode if a first attempt of async
> compaction failed. Hopefully we don't need to force special behavior for THP
> (which is the only __GFP_NO_KSWAPD user so far and it's the easier to exercise
> and to be noticeable). This also make __GFP_NO_KSWAPD return to its original
> strict semantics specific to bypass kswapd, as THP allocations have khugepaged
> for the async THP allocations/compactions.
>
> Signed-off-by: Andrea Arcangeli<aarcange@redhat.com>
> ---
> mm/page_alloc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -2105,7 +2105,7 @@ rebalance:
> sync_migration);
> if (page)
> goto got_pg;
> - sync_migration = !(gfp_mask& __GFP_NO_KSWAPD);
> + sync_migration = true;
>
> /* Try direct reclaim and then allocating */
> page = __alloc_pages_direct_reclaim(gfp_mask, order,
>
The stalls occur even with vfat. I am no longer using udf, since (right now) it is not necessary. I will test this patch now.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2011-04-08 20:07 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-31142-10286@https.bugzilla.kernel.org/>
2011-03-15 20:53 ` Andrew Morton
2011-03-15 22:53 ` Alex Villacís Lasso
2011-03-15 23:19 ` Andrew Morton
2011-03-16 15:25 ` Alex Villacís Lasso
2011-03-16 22:02 ` Andrew Morton
2011-03-17 21:27 ` Alex Villacís Lasso
2011-03-17 21:47 ` Andrew Morton
2011-03-17 22:11 ` Alex Villacís Lasso
2011-03-17 22:25 ` Andrew Morton
2011-03-18 11:13 ` Mel Gorman
2011-03-18 12:26 ` Andrea Arcangeli
2011-03-18 18:05 ` Alex Villacís Lasso
2011-03-19 13:46 ` Mel Gorman
2011-03-19 16:04 ` Alex Villacís Lasso
2011-03-19 23:51 ` Andrea Arcangeli
2011-03-21 9:41 ` Mel Gorman
2011-03-21 13:48 ` Andrea Arcangeli
2011-03-21 15:22 ` Alex Villacís Lasso
2011-03-21 15:36 ` Alex Villacís Lasso
2011-03-21 15:40 ` Andrea Arcangeli
2011-03-21 16:37 ` Mel Gorman
2011-03-21 17:05 ` Alex Villacís Lasso
2011-03-21 20:16 ` Andrea Arcangeli
2011-03-21 23:35 ` Alex Villacís Lasso
2011-03-22 11:20 ` Mel Gorman
2011-03-22 15:03 ` Andrea Arcangeli
2011-03-22 20:34 ` Alex Villacís Lasso
2011-03-22 21:40 ` Andrea Arcangeli
2011-03-23 0:37 ` Andrea Arcangeli
2011-03-23 16:51 ` Alex Villacís Lasso
2011-04-04 15:37 ` Alex Villacís Lasso
2011-04-08 19:09 ` Andrea Arcangeli
2011-04-08 20:06 ` Alex Villacís Lasso [this message]
2011-04-12 16:27 ` Alex Villacís Lasso
2011-04-14 17:25 ` Alex Villacís Lasso
2011-04-14 17:37 ` Andrea Arcangeli
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=4D9F6AB6.6000809@fiec.espol.edu.ec \
--to=avillaci@fiec.espol.edu.ec \
--cc=aarcange@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=avillaci@ceibo.fiec.espol.edu.ec \
--cc=bugme-daemon@bugzilla.kernel.org \
--cc=bugzilla-daemon@bugzilla.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
/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