linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Zlatko Calusic <zlatko.calusic@iskon.hr>,
	Andrew Morton <akpm@linux-foundation.org>
Cc: Mel Gorman <mgorman@suse.de>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Rik van Riel <riel@redhat.com>, linux-mm <linux-mm@kvack.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: kswapd craziness in 3.7
Date: Mon, 10 Dec 2012 11:13:25 -0800	[thread overview]
Message-ID: <CA+55aFwNE2y5t2uP3esCnHsaNo0NTDnGvzN6KF0qTw_y+QbtFA@mail.gmail.com> (raw)
In-Reply-To: <50C62AE6.3030000@iskon.hr>

On Mon, Dec 10, 2012 at 10:33 AM, Zlatko Calusic
<zlatko.calusic@iskon.hr> wrote:
>
> I was about to apply the patch that you sent, and reboot the server, but it
> seems there's no point because the patch is flawed?
>
> Anyway, if and when you have a proper one, I'll be glad to test it for you
> and report results.

I have reverted (again) the __GFP_NO_KSWAPD removal, and considering
that it really looks like there are overwhelming reasons to have that
flag, I will *not* take some new patch to revert it. I'm getting
convinced that the original removal really was bogus, and had no
actual valid reason for it.

Part of that is that I noticed that non-THP allocations wanted to use
it too. The i915 driver had wanted to use __GFP_NO_KSWAPD because it
too didn't want to start some cleaning thread. The whole mindset
kswapd is somehow better than direct reclaim or needed when it fails
is broken. Some allocations simply *will* fail, without necessarily
wanting kswapd to be started. THP - where the high order of the
allocation means that failure is inevitable under some fragmentation
circumstances - is just one such case.

I also reverted one of the "fix up the mess from removing
__GFP_NO_KSWAPD" patch, because that one was an obvious workaround
that tried to re-introduce the "let's not wake up kswapd after all for
that case". It clashed with a clean revert, and it was pointless in
the presense of __GFP_NO_KSWAPD anyway.

I did *not* revert some of the other fixup patches that tried to help
kswapd balancing decisions and avoid excessive CPU use other ways. So
some remains of this whole saga do still remain, but they look fairly
minimal.

It's worth giving this as much testing as is at all possible, but at
the same time I really don't think I can delay 3.7 any more without
messing up the holiday season too much. So unless something obvious
pops up, I will do the release tonight. So testing will be minimal -
but it's not like we haven't gone back-and-forth on this several times
already, and we revert to *mostly* the same old state as 3.6 anyway,
so it should be fairly safe.

                       Linus

  reply	other threads:[~2012-12-10 19:13 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-27 20:48 kswapd craziness in 3.7 Johannes Weiner
2012-11-27 20:48 ` [patch] mm: vmscan: fix kswapd endless loop on higher order allocation Johannes Weiner
2012-11-27 20:58 ` kswapd craziness in 3.7 Linus Torvalds
2012-11-27 21:16   ` Rik van Riel
2012-11-27 21:49     ` Johannes Weiner
2012-11-27 22:02       ` Rik van Riel
2012-11-27 22:26         ` Johannes Weiner
2012-11-27 23:19           ` Linus Torvalds
2012-11-28 10:13             ` Mel Gorman
2012-11-28 10:51               ` Thorsten Leemhuis
2012-11-28 16:42               ` Mel Gorman
2012-11-28 22:52               ` Andrew Morton
2012-11-28 23:54                 ` Mel Gorman
2012-11-29  0:14                   ` Andrew Morton
2012-11-29 15:30                   ` Thorsten Leemhuis
2012-11-29 17:05                     ` Johannes Weiner
2012-11-30 12:39                       ` Thorsten Leemhuis
2012-12-01  0:45                         ` Johannes Weiner
2012-12-03  8:30                           ` Thorsten Leemhuis
2012-12-03 13:08                             ` Fedora repo (was: Re: kswapd craziness in 3.7) Borislav Petkov
2012-12-03 19:42                             ` kswapd craziness in 3.7 Johannes Weiner
2012-12-04 21:42                               ` Johannes Weiner
2012-12-05  3:01                                 ` Bruno Wolff III
2012-12-06 17:37                                   ` Bruno Wolff III
2012-12-06 19:31                                     ` Linus Torvalds
2012-12-06 19:43                                       ` Rik van Riel
2012-12-06 20:23                                       ` Johannes Weiner
2012-12-06 20:32                                         ` Rik van Riel
2012-12-08 12:06                                       ` Zlatko Calusic
2012-12-08 21:22                                         ` Zlatko Calusic
2012-12-09  1:01                                           ` Linus Torvalds
2012-12-09 21:59                                             ` Zdenek Kabelac
2012-12-10 11:03                                             ` Mel Gorman
2012-12-10 16:39                                               ` Johannes Weiner
2012-12-10 18:01                                                 ` Mel Gorman
2012-12-10 18:33                                                   ` Zlatko Calusic
2012-12-10 19:13                                                     ` Linus Torvalds [this message]
2012-12-10 20:35                                                       ` Zlatko Calusic
2012-12-10 21:28                                                         ` Linus Torvalds
2012-12-10 21:42                                                           ` Borislav Petkov
2012-12-10 21:47                                                             ` Linus Torvalds
2012-12-10 21:54                                                               ` Borislav Petkov
2012-12-10 22:15                                                                 ` Zlatko Calusic
2012-12-10 23:27                                                           ` Hugh Dickins
2012-12-11  0:19                                                         ` Zlatko Calusic
2012-12-11 21:56                                                           ` Zlatko Calusic
2012-12-19 22:24                                                           ` Zlatko Calusic
2012-12-10 18:29                                               ` Zlatko Calusic
2012-12-06  8:09                               ` Thorsten Leemhuis
2012-11-27 21:29   ` Johannes Weiner
2012-11-28 13:35   ` Zdenek Kabelac
2012-11-28 14:04     ` Jiri Slaby
2012-11-28  9:45 ` Mel Gorman
2012-12-03 15:23   ` Zdenek Kabelac
2012-12-03 19:18     ` Johannes Weiner
2012-12-04  9:05       ` Zdenek Kabelac
2012-12-04  9:15         ` Jiri Slaby
2012-12-04 16:11           ` Johannes Weiner
2012-12-04 16:22             ` Jiri Slaby
2012-12-04 19:50               ` Johannes Weiner
2012-12-08 10:35             ` Jiri Slaby
2012-12-04 16:15         ` Johannes Weiner
2012-12-06 13:51         ` Zdenek Kabelac
2012-12-03 13:14 ` Jiri Slaby
2012-12-04  8:55   ` Jiri Slaby

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=CA+55aFwNE2y5t2uP3esCnHsaNo0NTDnGvzN6KF0qTw_y+QbtFA@mail.gmail.com \
    --to=torvalds@linux-foundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=hannes@cmpxchg.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mgorman@suse.de \
    --cc=riel@redhat.com \
    --cc=zlatko.calusic@iskon.hr \
    /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;
as well as URLs for NNTP newsgroup(s).