linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Rik van Riel <riel@redhat.com>
To: Yasunori Goto <y-goto@jp.fujitsu.com>
Cc: Linux Kernel ML <linux-kernel@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	Andrea Arcangeli <aarcange@redhat.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Hiroyuki KAMEZAWA <kamezawa.hiroyu@jp.fujitsu.com>,
	Motohiro Kosaki <kosaki.motohiro@jp.fujitsu.com>
Subject: Re: Strange minor page fault repeats when SPECjbb2005 is executed
Date: Thu, 03 Mar 2011 11:50:15 -0500	[thread overview]
Message-ID: <4D6FC6C7.8060001@redhat.com> (raw)
In-Reply-To: <20110303200139.B187.E1E9C6FF@jp.fujitsu.com>

On 03/03/2011 06:01 AM, Yasunori Goto wrote:

> In this log, cpu4 and 6 repeat page faults.
> ----
> handle_mm_fault jiffies64=4295160616 cpu=4 address=40019a38 pmdval=0000000070832067 ptehigh=00000000 ptelow=55171067
> handle_mm_fault jiffies64=4295160616 cpu=6 address=40003a38 pmdval=0000000070832067 ptehigh=00000000 ptelow=551ef067
> handle_mm_fault jiffies64=4295160616 cpu=6 address=40003a38 pmdval=0000000070832067 ptehigh=00000000 ptelow=551ef067
> handle_mm_fault jiffies64=4295160616 cpu=4 address=40019a38 pmdval=0000000070832067 ptehigh=00000000 ptelow=55171067
> handle_mm_fault jiffies64=4295160616 cpu=4 address=40019a38 pmdval=0000000070832067 ptehigh=00000000 ptelow=55171067

> I confirmed this phenomenon is reproduced on 2.6.31 and 2.6.38-rc5
> of x86 kernel, and I heard this phenomenon doesn't occur on
> x86-64 kernel from another engineer who found this problem first.
>
> In addition, this phenomenon occurred on 4 boxes, so I think the cause
> is not hardware malfunction.

On what CPU model(s) does this happen?

Obviously the PTE is present and allows read, write and
execute accesses, so the PTE should not cause any faults.

That leaves the TLB. It looks almost like the CPU keeps
re-faulting on a (old?) TLB entry, possibly with wrong
permissions, and does not re-load it from the PTE.

I know this "should not happen" on x86, but I cannot think
of an alternative explanation right now.  Can you try flushing
the TLB entry in question from handle_pte_fault?

It looks like the code already does this for write faults, but
maybe the garbage collection code uses PROT_NONE a lot and is
running into this issue with a read or exec fault?

It would be good to print the fault flags as well in your debug
print, so we know what kind of fault is being repeated...

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2011-03-03 16:53 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-03 11:01 Strange minor page fault repeats when SPECjbb2005 is executed Yasunori Goto
2011-03-03 16:50 ` Rik van Riel [this message]
2011-03-04  2:52   ` Yasunori Goto

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=4D6FC6C7.8060001@redhat.com \
    --to=riel@redhat.com \
    --cc=aarcange@redhat.com \
    --cc=akpm@linux-foundation.org \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=y-goto@jp.fujitsu.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).