All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ralf-Peter Rohbeck <Ralf-Peter.Rohbeck@quantum.com>
To: Vlastimil Babka <vbabka@suse.cz>, Michal Hocko <mhocko@suse.cz>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: OOM killer changes
Date: Thu, 18 Aug 2016 13:01:32 -0700	[thread overview]
Message-ID: <e867d795-224f-5029-48c9-9ce515c0b75f@Quantum.com> (raw)
In-Reply-To: <0606328a-1b14-0bc9-51cb-36621e3e8758@suse.cz>

On 17.08.2016 23:57, Vlastimil Babka wrote:
>>>> Hmm. I added linux-next git, fetched it etc but apparently I didn't check
>>>> out the right branch. Do you want next-20160817?
>>> Yes this one should be OK. It contains Vlastimil's patches.
>>>
>>> Thanks!
>> This has been working so far. I built a kernel successfully, with dd
>> writing to two drives. There were a number of messages in the trace pipe
>> but compaction/migration always succeeded it seems.
>> I'll run the big torture test overnight.
> Good news, thanks. Did you also apply Joonsoo's suggested removal of
> suitable_migration_target() check, or is this just the linux-next
> version with added trace_printk()/pr_info()?
>
> Vlastimil
Yes, that change was in my test with linux-next-20160817. Here's the diff:

diff --git a/mm/compaction.c b/mm/compaction.c
index f94ae67..60a9ca2 100644
--- a/mm/compaction.c
+++ b/mm/compaction.c
@@ -1083,8 +1083,10 @@ static void isolate_freepages(struct 
compact_control *cc)
                         continue;

                 /* Check the block is suitable for migration */
+/*
                 if (!suitable_migration_target(page))
                         continue;
+*/

                 /* If isolation recently failed, do not retry */
                 if (!isolation_suitable(cc, page))
diff --git a/mm/migrate.c b/mm/migrate.c
index f7ee04a..b1176a4 100644
--- a/mm/migrate.c
+++ b/mm/migrate.c
@@ -827,8 +827,10 @@ static int fallback_migrate_page(struct 
address_space *mapping,
          * We must have no buffers or drop them.
          */
         if (page_has_private(page) &&
-           !try_to_release_page(page, GFP_KERNEL))
+           !try_to_release_page(page, GFP_KERNEL)) {
+               trace_printk("try_to_release_page failed for 
a_ops:%pS\n", page->mapping->a_ops);
                 return -EAGAIN;
+       }

         return migrate_page(mapping, newpage, page, mode);
  }
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 5637733..b443652 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3202,8 +3202,12 @@ should_compact_retry(struct alloc_context *ac, 
int order, int alloc_flags,
          * But do not retry if the given zonelist is not suitable for
          * compaction.
          */
-       if (compaction_withdrawn(compact_result))
-               return compaction_zonelist_suitable(ac, order, alloc_flags);
+       if (compaction_withdrawn(compact_result)) {
+               int ret = compaction_zonelist_suitable(ac, order, 
alloc_flags);
+               if (!ret)
+                       pr_info("XXX: no zone suitable for compaction\n");
+               return ret;
+       }

         /*
          * !costly requests are much more important than __GFP_REPEAT
@@ -3227,6 +3231,7 @@ check_priority:
                 (*compact_priority)--;
                 return true;
         }
+       pr_info("XXX: compaction retries fail after %d\n", 
compaction_retries);
         return false;
  }
  #else

It ran the whole night with continuous torture tests and writing to two 
drives. No OOM.
Logs are at 
https://filebin.net/l2kp3iit8dj0fq6q/OOM_4.8.0-next-20160817.tar.bz2.

Thanks for fixing this!
Ralf-Peter

----------------------------------------------------------------------
The information contained in this transmission may be confidential. Any disclosure, copying, or further distribution of confidential information is not permitted unless such privilege is explicitly granted in writing by Quantum. Quantum reserves the right to have electronic communications, including email and attachments, sent across its networks filtered through anti virus and spam software programs and retain such messages in order to comply with applicable data security and retention requirements. Quantum is not responsible for the proper and complete transmission of the substance of this communication or for any delay in its receipt.

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2016-08-18 20:01 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <d8f3adcc-3607-1ef6-9ec5-82b2e125eef2@quantum.com>
2016-08-01  6:16 ` OOM killer changes Michal Hocko
     [not found]   ` <b1a39756-a0b5-1900-6575-d6e1f502cb26@Quantum.com>
     [not found]     ` <20160801182358.GB31957@dhcp22.suse.cz>
     [not found]       ` <30dbabc4-585c-55a5-9f3a-4e243c28356a@Quantum.com>
2016-08-01 19:26         ` Michal Hocko
2016-08-01 19:35           ` Ralf-Peter Rohbeck
2016-08-01 19:43             ` Michal Hocko
2016-08-01 19:52               ` Ralf-Peter Rohbeck
2016-08-01 20:09                 ` Michal Hocko
2016-08-01 20:16                   ` Ralf-Peter Rohbeck
2016-08-01 20:26                     ` Michal Hocko
2016-08-01 21:14                       ` Ralf-Peter Rohbeck
2016-08-01 21:27                         ` Ralf-Peter Rohbeck
2016-08-02  7:10                           ` Michal Hocko
2016-08-02 19:25                             ` Ralf-Peter Rohbeck
2016-08-15  4:48                               ` Ralf-Peter Rohbeck
2016-08-15  9:16                                 ` Vlastimil Babka
2016-08-15 15:01                                   ` Michal Hocko
2016-08-15 18:42                                     ` Ralf-Peter Rohbeck
2016-08-16  7:32                                       ` Michal Hocko
2016-08-16  7:43                                         ` Michal Hocko
2016-08-17  9:14                                           ` Ralf-Peter Rohbeck
2016-08-17  9:23                                             ` Vlastimil Babka
2016-08-17  9:28                                               ` Ralf-Peter Rohbeck
2016-08-17  9:33                                                 ` Michal Hocko
2016-08-17 23:37                                                   ` Ralf-Peter Rohbeck
2016-08-18  6:57                                                     ` Vlastimil Babka
2016-08-18 20:01                                                       ` Ralf-Peter Rohbeck [this message]
2016-08-18 20:12                                                         ` Vlastimil Babka
2016-08-19  2:42                                                           ` Ralf-Peter Rohbeck
2016-08-19  6:27                                                             ` Vlastimil Babka
2016-08-19  7:33                                                               ` Michal Hocko
2016-08-19  7:47                                                                 ` Vlastimil Babka
2016-08-19  8:26                                                                   ` Michal Hocko
2016-08-24 18:13                                                                     ` Ralf-Peter Rohbeck
2016-08-25  7:22                                                                       ` Michal Hocko
2016-08-25 20:35                                                                         ` Ralf-Peter Rohbeck
2016-08-26  8:35                                                                           ` Michal Hocko
2016-09-06 11:09                                                                             ` Vlastimil Babka
2016-08-23  5:02                                                               ` Joonsoo Kim
2016-08-23  7:45                                                                 ` Michal Hocko
2016-08-17  0:26                                         ` Ralf-Peter Rohbeck
2016-08-17  7:43                                           ` Vlastimil Babka
2016-08-16  3:12                                   ` Joonsoo Kim
2016-08-16  7:44                                     ` Vlastimil Babka
2016-08-17  4:48                                     ` Ralf-Peter Rohbeck
2016-08-17  7:56                                       ` Vlastimil Babka
2016-08-17  8:16                                         ` Joonsoo Kim
2016-08-17  9:21                                           ` Ralf-Peter Rohbeck
2016-08-17  9:11                                         ` Ralf-Peter Rohbeck
2016-08-17  9:20                                           ` Vlastimil Babka
2016-08-02  7:11           ` Vlastimil Babka
2016-08-02  9:02           ` Michal Hocko

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=e867d795-224f-5029-48c9-9ce515c0b75f@Quantum.com \
    --to=ralf-peter.rohbeck@quantum.com \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.cz \
    --cc=vbabka@suse.cz \
    /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.