linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Whitcroft <apw@shadowen.org>
To: Hugh Dickins <hugh@veritas.com>
Cc: Andrew Morton <akpm@osdl.org>,
	Christoph Lameter <clameter@sgi.com>,
	mbligh@google.com, mbligh@mbligh.org,
	linux-kernel@vger.kernel.org, ak@suse.de,
	Martin Schwidefsky <schwidefsky@de.ibm.com>
Subject: Re: 2.6.17-rc5-mm1
Date: Wed, 07 Jun 2006 10:17:32 +0100	[thread overview]
Message-ID: <448699AC.6000402@shadowen.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0606060537460.6045@blonde.wat.veritas.com>

Hugh Dickins wrote:
> On Mon, 5 Jun 2006, Andrew Morton wrote:
> 
>>On Mon, 5 Jun 2006 13:43:47 -0700 (PDT)
>>Christoph Lameter <clameter@sgi.com> wrote:
>>
>>
>>>Fix this by limiting the number of swap devices in swapon to 
>>>MAX_SWAPFILES
>>>
>>>Signed-off-by: Christoph Lameter <clameter@sgi.com>
>>>
>>>Index: linux-2.6.17-rc5-mm2/mm/swapfile.c
>>>===================================================================
>>>--- linux-2.6.17-rc5-mm2.orig/mm/swapfile.c	2006-06-01 10:03:07.127259731 -0700
>>>+++ linux-2.6.17-rc5-mm2/mm/swapfile.c	2006-06-05 13:40:45.887291175 -0700
>>>@@ -1408,8 +1408,13 @@ asmlinkage long sys_swapon(const char __
>>> 		spin_unlock(&swap_lock);
>>> 		goto out;
>>> 	}
>>>-	if (type >= nr_swapfiles)
>>>+	if (type >= nr_swapfiles) {
>>>+		if (nr_swapfiles >= MAX_SWAPFILES) {
>>>+			spin_unlock(&swap_lock);
>>>+			goto out;
>>>+		}
>>> 		nr_swapfiles = type+1;
>>>+	}
>>> 	INIT_LIST_HEAD(&p->extent_list);
>>> 	p->flags = SWP_USED;
>>> 	p->swap_file = NULL;
>>
>>Thanks, Christoph.  So we get to keep the crappy test?
> 
> 
> Christoph's patch looks like it will fix the corruption to me (though
> I'd have thought the alternative below a little cleaner, keeping the
> associated tests together and avoiding a second unlock: whatever).
> 
> Whether it's correct depends on what Martin was trying to achieve
> with his test.  I'm surprised to find a very ordinary
> #define __swp_type(entry)	(((entry).val >> 2) & 0x1f)
> in include/asm-s390/pgtable.h, and no architecture with a more
> limiting mask.
> 
> I had expected that s390 (or some other) was short of bits and was
> having to use a more limiting mask: in which case neither Christoph's
> patch nor the one below would be appropriate, since the migration
> types 30 and 31 would then fall outside the mask (though it'd only
> be a problem if page migration were required on such an architecture).
> 
> So, the patch should do for now, but it'd be helpful if Martin can
> explain why he needed to use that test in 2.6.5.  (Perhaps he went
> through a phase of reducing the swap type and extending the swap
> offset, and this is a remnant of that phase?)
> 
> 
>>I wonder what LTP was corrupting before it started to corrupt page
>>migration data?
>>
>>The above looks like a 2.6.17 thing to me.
> 
> 
> Not really (though the clarity and reassurance of the additional
> MAX_SWAPFILES test is good).  We went over it a year or two back,
> and the macro contortions do involve MAX_SWAPFILES_SHIFT: which
> up to and including 2.6.17 has enforced the MAX_SWAPFILES limit.
> 
> But swapless migration has changed the relationship between
> MAX_SWAPFILES_SHIFT and MAX_SWAPFILES (-2 when CONFIG_MIGRATION),
> hence this corruption now surfacing in -mm.
> 
> Hugh
> 
> --- 2.6.17-rc5-mm3/mm/swapfile.c	2006-06-04 11:52:47.000000000 +0100
> +++ linux/mm/swapfile.c	2006-06-06 05:23:05.000000000 +0100
> @@ -1404,7 +1404,8 @@ asmlinkage long sys_swapon(const char __
>  	 * from the initial ~0UL that can't be encoded in either the
>  	 * swp_entry_t or the architecture definition of a swap pte.
>  	 */
> -	if (type > swp_type(pte_to_swp_entry(swp_entry_to_pte(swp_entry(~0UL,0))))) {
> +	if (type >= MAX_SWAPFILES ||
> +	    type > swp_type(pte_to_swp_entry(swp_entry_to_pte(swp_entry(~0UL,0))))) {
>  		spin_unlock(&swap_lock);
>  		goto out;
>  	}


Ok, this with Ingo's 2222 deadlock fix has passed across the board.

Acked-by: Andy Whitcroft <apw@shadowen.org>

-apw

  parent reply	other threads:[~2006-06-07  9:17 UTC|newest]

Thread overview: 179+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-31 19:32 2.6.17-rc5-mm1 Martin Bligh
2006-05-30 15:33 ` 2.6.17-rc5-mm1 Pavel Machek
2006-05-31 21:06 ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-31 21:23   ` 2.6.17-rc5-mm1 Martin J. Bligh
2006-05-31 21:43     ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-31 21:53       ` 2.6.17-rc5-mm1 Martin J. Bligh
2006-05-31 22:14         ` 2.6.17-rc5-mm1 Andy Whitcroft
2006-06-01 16:34         ` 2.6.17-rc5-mm1 Andy Whitcroft
2006-06-01 17:29           ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-05 13:05           ` 2.6.17-rc5-mm1 Andy Whitcroft
2006-06-05 16:37             ` 2.6.17-rc5-mm1 Martin Bligh
2006-06-05 16:42             ` 2.6.17-rc5-mm1 Andy Whitcroft
2006-06-05 18:43             ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-05 18:49               ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-06-05 18:52                 ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-05 19:14                   ` 2.6.17-rc5-mm1 Martin Bligh
2006-06-05 19:27                     ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-05 19:33                       ` 2.6.17-rc5-mm1 Martin Bligh
2006-06-05 19:37                         ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-05 20:04                           ` 2.6.17-rc5-mm1 Andy Whitcroft
2006-06-05 18:57                 ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-05 20:02               ` 2.6.17-rc5-mm1 Andy Whitcroft
2006-06-05 20:05                 ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-05 20:08                   ` 2.6.17-rc5-mm1 Andy Whitcroft
2006-06-05 20:13                     ` 2.6.17-rc5-mm1 Martin Bligh
2006-06-05 20:16                       ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-05 20:27                       ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-05 20:43                         ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-05 20:58                           ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-05 21:07                             ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-06-05 22:12                             ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-06  5:14                             ` 2.6.17-rc5-mm1 Hugh Dickins
2006-06-06 16:32                               ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-06 17:16                                 ` 2.6.17-rc5-mm1 Martin Schwidefsky
2006-06-06 18:04                                   ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-06 18:21                                     ` 2.6.17-rc5-mm1 Hugh Dickins
2006-06-06 18:24                                       ` 2.6.17-rc5-mm1 Martin Schwidefsky
2006-06-06 17:20                                 ` 2.6.17-rc5-mm1 Hugh Dickins
2006-06-06 17:34                                   ` 2.6.17-rc5-mm1 Martin Bligh
2006-06-06 17:45                                     ` 2.6.17-rc5-mm1 Martin Schwidefsky
2006-06-06 17:47                                     ` 2.6.17-rc5-mm1 Hugh Dickins
2006-06-06 17:39                                   ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-06 17:48                                     ` 2.6.17-rc5-mm1 Martin Schwidefsky
2006-06-06 17:59                                     ` 2.6.17-rc5-mm1 Hugh Dickins
2006-06-06 18:05                                       ` 2.6.17-rc5-mm1 Martin Schwidefsky
2006-06-06 18:15                                         ` 2.6.17-rc5-mm1 Hugh Dickins
2006-06-06 18:28                                           ` 2.6.17-rc5-mm1 Christoph Lameter
2006-06-07  9:17                               ` Andy Whitcroft [this message]
2006-06-06 11:39                           ` 2.6.17-rc5-mm1 Andy Whitcroft
2006-06-07  9:17                           ` 2.6.17-rc5-mm1 Andy Whitcroft
2006-06-05 20:44                         ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-05 20:07                 ` 2.6.17-rc5-mm1 Martin Bligh
2006-05-31 23:07       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 23:15         ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 23:29         ` 2.6.17-rc5-mm1 Martin Bligh
2006-05-31 23:38       ` 2.6.17-rc5-mm1 Martin Bligh
  -- strict thread matches above, loose matches on Subject: below --
2006-06-05  0:59 2.6.17-rc5-mm1 Chuck Ebbert
2006-06-05  1:10 ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-05 10:32   ` 2.6.17-rc5-mm1 Laurent Riffard
2006-06-05 16:14     ` 2.6.17-rc5-mm1 Laurent Riffard
2006-06-05 18:00       ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-05 18:18         ` 2.6.17-rc5-mm1 Dave Jones
2006-06-05 21:52         ` 2.6.17-rc5-mm1 Barry K. Nathan
2006-06-06  7:26           ` 2.6.17-rc5-mm1 Ingo Molnar
2006-06-06 20:08             ` 2.6.17-rc5-mm1 Laurent Riffard
2006-06-06 20:58               ` 2.6.17-rc5-mm1 Ingo Molnar
2006-06-06 21:38                 ` 2.6.17-rc5-mm1 Laurent Riffard
2006-06-06 22:05                   ` 2.6.17-rc5-mm1 Ingo Molnar
2006-06-06 22:29                     ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-07  6:22                       ` 2.6.17-rc5-mm1 Jens Axboe
2006-06-08 19:00                         ` 2.6.17-rc5-mm1 Laurent Riffard
2006-06-04  6:49 2.6.17-rc5-mm1 Chuck Ebbert
2006-06-04 19:49 ` 2.6.17-rc5-mm1 Laurent Riffard
     [not found] <fa.OzJugEVv9WJAu9OjbsckjHU7X1U@ifi.uio.no>
     [not found] ` <fa.Gc0Mz2XRYv0MekBhe0EU0fxdjxI@ifi.uio.no>
2006-06-02  8:53   ` 2.6.17-rc5-mm1 Aneesh Kumar K.V
2006-06-01 21:39 2.6.17-rc5-mm1 Chuck Ebbert
2006-06-01 22:02 ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-01 22:56   ` 2.6.17-rc5-mm1 Laurent Riffard
2006-06-02 20:19     ` 2.6.17-rc5-mm1 Laurent Riffard
     [not found] <6iEI8-6Tx-37@gated-at.bofh.it>
     [not found] ` <6iG79-11u-23@gated-at.bofh.it>
     [not found]   ` <6iGqr-1sJ-3@gated-at.bofh.it>
     [not found]     ` <6iGJN-1SM-17@gated-at.bofh.it>
     [not found]       ` <6iIsf-4Eq-11@gated-at.bofh.it>
2006-06-01  0:43         ` 2.6.17-rc5-mm1 Robert Hancock
2006-06-01  5:36           ` 2.6.17-rc5-mm1 Martin J. Bligh
2006-06-02  8:52             ` 2.6.17-rc5-mm1 Andi Kleen
2006-06-06  4:36               ` 2.6.17-rc5-mm1 David Miller
2006-06-06  5:56                 ` 2.6.17-rc5-mm1 Andi Kleen
2006-05-31 19:32 2.6.17-rc5-mm1 Martin Bligh
2006-05-31 21:08 ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-31 21:15   ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 21:27     ` 2.6.17-rc5-mm1 Martin J. Bligh
2006-05-31 21:33       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 21:43         ` 2.6.17-rc5-mm1 Martin J. Bligh
2006-05-31 21:53           ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 21:59             ` 2.6.17-rc5-mm1 Martin J. Bligh
2006-05-31 22:12               ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 22:21                 ` 2.6.17-rc5-mm1 Martin Bligh
2006-05-31 22:32                   ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 22:36                     ` 2.6.17-rc5-mm1 Martin Bligh
2006-05-31 22:50                       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-06-01 10:36                         ` 2.6.17-rc5-mm1 Roman Zippel
2006-06-01 14:49                           ` 2.6.17-rc5-mm1 Martin J. Bligh
2006-06-01 15:23                             ` 2.6.17-rc5-mm1 Roman Zippel
2006-06-01 15:31                               ` 2.6.17-rc5-mm1 Martin J. Bligh
2006-06-01 15:43                                 ` 2.6.17-rc5-mm1 Roman Zippel
2006-06-01 16:55                                   ` 2.6.17-rc5-mm1 Martin Bligh
2006-06-01 21:04                                     ` 2.6.17-rc5-mm1 Roman Zippel
2006-06-01 21:07                                       ` 2.6.17-rc5-mm1 Martin J. Bligh
2006-06-02  0:19                                         ` 2.6.17-rc5-mm1 Roman Zippel
2006-05-31 22:43                     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 22:46                 ` 2.6.17-rc5-mm1 Roman Zippel
2006-06-01  7:10       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30  9:29 2.6.17-rc5-mm1 Andrew Morton
2006-05-30  9:42 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 10:12 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 12:46 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:13   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 15:59 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 16:08   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 18:51     ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 16:16 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:28   ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 19:48     ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 18:39 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:04   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 19:55   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 20:20     ` 2.6.17-rc5-mm1 Dave Jones
2006-05-30 20:32       ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 18:55 ` 2.6.17-rc5-mm1 Michal Piotrowski
     [not found]   ` <6bffcb0e0605301157o6b7c5f66q3c9f151cbb4537d5@mail.gmail.com>
2006-05-30 19:42     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 21:57       ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 22:09         ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:18           ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:26             ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:29               ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:31                 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 22:32                 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 10:56                 ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:59           ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 23:05             ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:06               ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:49                 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31  3:08                   ` 2.6.17-rc5-mm1 Steven Rostedt
2006-05-30 19:45   ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-31 13:51   ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31 14:02     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 14:05       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 14:12       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 15:05         ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-30 19:43 ` 2.6.17-rc5-mm1 Roland Dreier
2006-05-30 21:07 ` 2.6.17-rc5-mm1 Brice Goglin
2006-05-30 21:07 ` 2.6.17-rc5-mm1 Laurent Riffard
2006-05-30 21:24   ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-30 21:43     ` 2.6.17-rc5-mm1 Mel Gorman
2006-05-30 21:24 ` 2.6.17-rc5-mm1 Roland Dreier
2006-05-30 22:45   ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-30 22:49     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:52       ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 22:58         ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:05           ` 2.6.17-rc5-mm1 Thomas Gleixner
2006-05-30 23:14             ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-30 23:32               ` 2.6.17-rc5-mm1 Roland Dreier
2006-05-30 23:15             ` 2.6.17-rc5-mm1 Benjamin Herrenschmidt
2006-05-30 23:53               ` 2.6.17-rc5-mm1 Greg KH
2006-05-30 23:53 ` 2.6.17-rc5-mm1 Michal Piotrowski
2006-05-31  3:17 ` 2.6.17-rc5-mm1 Steven Rostedt
2006-05-31  4:14   ` 2.6.17-rc5-mm1 Andrew Morton
2006-05-31  6:31     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 11:50       ` 2.6.17-rc5-mm1 Steven Rostedt
2006-05-31 11:55         ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31  6:39     ` 2.6.17-rc5-mm1 Arjan van de Ven
2006-05-31 16:48 ` 2.6.17-rc5-mm1 Jesse Brandeburg
2006-05-31 23:08   ` 2.6.17-rc5-mm1 Ingo Molnar
2006-05-31 17:39 ` 2.6.17-rc5-mm1 Laurent Riffard
2006-05-31 18:09   ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-01 22:07   ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-02  7:49     ` 2.6.17-rc5-mm1 Jan Beulich
2006-06-01  1:25 ` 2.6.17-rc5-mm1 Randy.Dunlap
2006-06-01  1:40   ` 2.6.17-rc5-mm1 Siddha, Suresh B
2006-06-01  2:17     ` 2.6.17-rc5-mm1 Randy.Dunlap
2006-06-01  1:43   ` 2.6.17-rc5-mm1 Andrew Morton
2006-06-01  6:14     ` 2.6.17-rc5-mm1 Ingo Molnar
2006-06-01 15:12       ` 2.6.17-rc5-mm1 Randy.Dunlap

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=448699AC.6000402@shadowen.org \
    --to=apw@shadowen.org \
    --cc=ak@suse.de \
    --cc=akpm@osdl.org \
    --cc=clameter@sgi.com \
    --cc=hugh@veritas.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@google.com \
    --cc=mbligh@mbligh.org \
    --cc=schwidefsky@de.ibm.com \
    /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).