linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Haren Myneni <hmyneni@gmail.com>
To: Mel Gorman <mgorman@suse.de>
Cc: srikar@linux.vnet.ibm.com, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, aneesh.kumar@linux.vnet.ibm.com,
	linuxppc-dev@lists.ozlabs.org
Subject: Re: mm: BUG_ON with NUMA_BALANCING (kernel BUG at include/linux/swapops.h:131!)
Date: Thu, 14 May 2015 08:48:48 -0700	[thread overview]
Message-ID: <CACgMoiKzcDFTd7_howiH1KK2L-ky2S4x99-FTGS9pgO9Bqi0xg@mail.gmail.com> (raw)
In-Reply-To: <20150514093304.GS2462@suse.de>

On 5/14/15, Mel Gorman <mgorman@suse.de> wrote:
> On Wed, May 13, 2015 at 01:17:54AM -0700, Haren Myneni wrote:
>> Hi,
>>
>>  I am getting BUG_ON in migration_entry_to_page() with 4.1.0-rc2
>> kernel on powerpc system which has 512 CPUs (64 cores - 16 nodes) and
>> 1.6 TB memory. We can easily recreate this issue with kernel compile
>> (make -j500). But I could not reproduce with numa_balancing=disable.
>>
>
> Is this patched in any way? I ask because line 134 on 4.1.0-rc2 does not
> match up with a BUG_ON. It's close to a PageLocked check but I want to
> be sure there are no other modifications.

Mel, Thanks for your help. I added some printks and dump_page() to get
the page struct and swp_entry information.

>
> Otherwise, when was the last time this worked? Was 4.0 ok? As it can be
> easily reproduced, can the problem be bisected please?

I did not try previous versions other than RHEL kernel (3.10.*). I
will try with previous versions.

In the failure case, also noticed pte and address values are matched
in try_to_unmap_one() and remove_migration_pte(), but entry
(swp_entry_t) value is different. So looks like page strut address in
migration_entry_to_page() is not valid.

try_to_unmap_one()
{

...
        } else if (IS_ENABLED(CONFIG_MIGRATION)) {
                        /*
                         * Store the pfn of the page in a special migration
                         * pte. do_swap_page() will wait until the migration
                         * pte is removed and then restart fault handling.
                         */
                        BUG_ON(!(flags & TTU_MIGRATION));
                        entry = make_migration_entry(page, pte_write(pteval));
                }
                swp_pte = swp_entry_to_pte(entry);
                if (pte_soft_dirty(pteval))
                        swp_pte = pte_swp_mksoft_dirty(swp_pte);
                set_pte_at(mm, address, pte, swp_pte);

                /*pte=0xb16b8d0f80000000 address=0x100008150000
                page=0xf000000513f3e1e0  entry=0x3e0000000ec5ae34 */
...
}

 remove_migration_pte()
{
...
        /* address=0x100008150000 pte=0xb16b8d0f80000000
        *old=0xf000000513f3e1e0 */
        if (!is_migration_entry(entry) ||
        migration_entry_to_page(entry) != old)
        goto unlock;
...
}

 migration_entry_to_page()  {
        pte=0xb16b8d0f80000000  entry=0x3e00000002c5ae34
        page=0xf0000000f3f3e1e0
}


Thanks
Haren

>
> --
> Mel Gorman
> SUSE Labs
>

  reply	other threads:[~2015-05-14 15:48 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-13  8:17 mm: BUG_ON with NUMA_BALANCING (kernel BUG at include/linux/swapops.h:131!) Haren Myneni
2015-05-14  9:33 ` Mel Gorman
2015-05-14 15:48   ` Haren Myneni [this message]
2015-05-18  7:32     ` Haren Myneni
2015-05-18  8:11       ` Mel Gorman
2015-05-18  8:18         ` Haren Myneni

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=CACgMoiKzcDFTd7_howiH1KK2L-ky2S4x99-FTGS9pgO9Bqi0xg@mail.gmail.com \
    --to=hmyneni@gmail.com \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mgorman@suse.de \
    --cc=srikar@linux.vnet.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).