public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: torvalds@transmeta.com (Linus Torvalds)
To: linux-kernel@vger.kernel.org
Subject: Re: page_launder() bug
Date: 7 May 2001 10:59:19 -0700	[thread overview]
Message-ID: <9d6npn$dhp$1@penguin.transmeta.com> (raw)
In-Reply-To: <Pine.A41.4.31.0105062307290.59664-100000@pandora.inf.elte.hu>

In article <Pine.A41.4.31.0105062307290.59664-100000@pandora.inf.elte.hu>,
BERECZ Szabolcs  <szabi@inf.elte.hu> wrote:
>
>there is a bug in page_launder introduced with kernel 2.4.3-ac12.

Yes.

The whole "dead_swap_page" optimization in the -ac tree is apparentrly
completely bogus.  It caches a value that is not valid: you cannot
reliably look at whether the page has buffers etc without holding the
page locked. 

So calculating "dead_swap_page" without locking the page first is a sure
way to cause trouble.

I can see why the bug was introduced: standard kernels _optimistically_
test whether the condition might be true before they lock the page, and
decide to not even try to touch pages that look like they are probably
going to be considered active.

But it is important to re-calculate the deadness after getting the lock.
Before, it was just an informed guess. After the lock, it is knowledge.
And you can use informed guesses for heuristics, but you must _not_ use
them for any serious decisions.

Alan, please revert.

		Linus

  parent reply	other threads:[~2001-05-07 18:00 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-05-06 21:08 page_launder() bug BERECZ Szabolcs
2001-05-06 21:59 ` Jonathan Morton
2001-05-06 22:07   ` BERECZ Szabolcs
2001-05-07  4:55   ` David S. Miller
2001-05-07  5:19     ` Aaron Lehmann
2001-05-07  6:26     ` Tobias Ringstrom
2001-05-07  8:54       ` David S. Miller
2001-05-07 15:12         ` Tobias Ringstrom
2001-05-07  8:59       ` Helge Hafting
2001-05-07 19:02         ` J . A . Magallon
2001-05-08  7:52           ` Helge Hafting
2001-05-10 12:19             ` Ingo Oeser
2001-05-10 10:51           ` Anuradha Ratnaweera
2001-05-07 10:52       ` Alan Cox
2001-05-07 13:49       ` Daniel Phillips
2001-05-07 13:53       ` H. Peter Anvin
2001-05-07 14:52     ` Horst von Brand
2001-05-08 17:59       ` Kai Henningsen
2001-05-09  2:32     ` Rusty Russell
2001-05-09  8:43       ` Martin Dalecki
2001-05-09  3:36     ` Jonathan Morton
2001-05-07 17:59 ` Linus Torvalds [this message]
2001-05-07 21:22   ` Marcelo Tosatti
2001-05-07 23:23     ` Linus Torvalds
2001-05-07 21:50       ` Marcelo Tosatti
2001-05-07 23:52         ` Linus Torvalds
2001-05-07 22:26           ` Marcelo Tosatti
2001-05-08  0:16             ` David S. Miller
2001-05-08  2:34               ` Linus Torvalds
2001-05-08  1:40                 ` Marcelo Tosatti
2001-05-08  3:22                   ` David S. Miller
2001-05-08  3:26                     ` Linus Torvalds
2001-05-08  3:46                   ` Linus Torvalds
2001-05-08  2:37                     ` Marcelo Tosatti
2001-05-08  6:50                     ` David S. Miller
2001-05-08  7:40                       ` Linus Torvalds
2001-05-08  8:29                         ` David S. Miller
2001-05-08 18:53                         ` Marcelo Tosatti
2001-05-08 21:16                     ` Marcelo Tosatti
2001-05-08 23:38                       ` Linus Torvalds
2001-05-08 23:53                         ` Marcelo Tosatti
2001-05-09  2:13                           ` David S. Miller
2001-05-09 17:38                             ` Marcelo Tosatti
2001-05-09 20:05                               ` David S. Miller
2001-05-09 18:40                                 ` Marcelo Tosatti
2001-05-09 21:08                                   ` David S. Miller
2001-05-09 19:50                                     ` Marcelo Tosatti
2001-05-13 16:34                             ` Rik van Riel
2001-05-13 17:52                               ` David S. Miller
2001-05-13 17:55                                 ` Rik van Riel
2001-05-13 18:00                                   ` David S. Miller
2001-05-13 19:34                               ` Linus Torvalds
2001-05-13 19:39                                 ` Rik van Riel
2001-05-13 20:42                                   ` Linus Torvalds
2001-05-14  7:05                                     ` Kai Henningsen
2001-05-08  2:47                 ` David S. Miller
2001-05-08  1:34                   ` Marcelo Tosatti
2001-05-08  3:18                     ` David S. Miller
2001-05-08  1:47                       ` Marcelo Tosatti
2001-05-08  3:29                         ` David S. Miller
2001-05-08 10:36                           ` BERECZ Szabolcs
2001-05-08  3:24                       ` Linus Torvalds
2001-05-08 12:33               ` Mikulas Patocka
2001-05-13 16:24                 ` Rik van Riel
2001-05-13 21:02                   ` Another VM race? (was: page_launder() bug) Mikulas Patocka
2001-05-13 23:04                     ` Rik van Riel
2001-05-14  9:53                       ` Mikulas Patocka
2001-05-08  2:29             ` page_launder() bug Linus Torvalds
2001-05-13 16:08               ` Rik van Riel
2001-05-13 19:29                 ` Linus Torvalds
2001-05-14 22:05                   ` Marcelo Tosatti
2001-05-08  0:06           ` David S. Miller
2001-05-07 23:31       ` David S. Miller
2001-05-07 22:44   ` David S. Miller
2001-05-08  1:00     ` Horst von Brand
  -- strict thread matches above, loose matches on Subject: below --
2001-05-07  0:32 Jonathan Lundell
     [not found] <davem@redhat.com>
2001-11-21  7:16 ` [VM/MEMORY-SICKNESS] 2.4.15-pre7 kmem_cache_create invalid opcode Jeff V. Merkey
2001-11-21  6:22   ` David S. Miller
2001-11-21  7:33     ` Jeff V. Merkey
2001-11-21  6:47       ` Kai Henningsen
2001-11-21 18:28         ` Jeff Merkey
2001-11-21  6:47       ` David S. Miller
2001-11-21  6:54         ` Jeff Merkey
2001-11-21  6:56           ` David S. Miller
2001-11-21  7:03             ` Jeff Merkey
2001-11-21  7:09               ` David S. Miller
2001-11-21  7:14                 ` Jeff Merkey
2001-11-21  7:28               ` Stuart Young
2001-11-21  7:49               ` arjan
2001-11-21 18:31                 ` Jeff Merkey
2001-11-21 19:06                   ` Doug Ledford
2001-11-21 19:51                     ` Jeff Merkey
2001-11-21 19:58                       ` J Sloan
2001-11-21 20:38                       ` Doug Ledford
2001-11-21 21:17                         ` Jeff Merkey
2001-11-21 19:16                   ` Arjan van de Ven
2001-11-21 19:53                     ` Jeff Merkey
2001-11-21 20:36                       ` Doug Ledford
2001-11-21 21:16                         ` Jeff Merkey
2001-11-21 21:28                           ` Robert Love
2001-11-21  6:54       ` Chris Abbey
2001-11-21  7:05         ` Jeff Merkey
2001-11-21  8:49   ` Alan Cox
2001-11-21 18:28     ` Jeff Merkey

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='9d6npn$dhp$1@penguin.transmeta.com' \
    --to=torvalds@transmeta.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