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
next prev 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).