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: Tue, 12 Apr 2011 11:27:47 -0500 [thread overview]
Message-ID: <4DA47D83.30707@fiec.espol.edu.ec> (raw)
In-Reply-To: <4D9F6AB6.6000809@fiec.espol.edu.ec>
El 08/04/11 15:06, Alex Villaci-s Lasso escribio:
> 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.
>
From preliminary tests, I feel that the patch actually eliminates the stalls. I have just copied nearly 6 GB of data into my USB stick and noticed no application freezes.
--
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-12 16:29 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 ` [Bugme-new] [Bug 31142] New: Large write to USB stick freezes unrelated tasks for a long time 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
2011-04-12 16:27 ` Alex Villacís Lasso [this message]
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=4DA47D83.30707@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 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.