From: Rik van Riel <riel@redhat.com>
To: Stanislav Meduna <stano@meduna.org>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
Steven Rostedt <rostedt@goodmis.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
"linux-rt-users@vger.kernel.org" <linux-rt-users@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Ingo Molnar <mingo@redhat.com>,
the arch/x86 maintainers <x86@kernel.org>,
Hai Huang <hhuang@redhat.com>
Subject: Re: [PATCH] mm: fix up a spurious page fault whenever it happens
Date: Thu, 23 May 2013 08:19:38 -0400 [thread overview]
Message-ID: <519E095A.4000105@redhat.com> (raw)
In-Reply-To: <519DCE2A.4010801@meduna.org>
On 05/23/2013 04:07 AM, Stanislav Meduna wrote:
> On 22.05.2013 20:43, Rik van Riel wrote:
>
>>> Some CPUs have had errata when it comes to flushing large pages that
>>> have been split into small pages by hardware, e.g. due to MTRR
>>> conflicts. In that case, fragments of the large page may have been left
>>> in the TLB.
>
> Can I somehow find if this is the case? The memory mapping
> for the failing process has two regions slightly larger than
> 4 MB - code and heap.
>
> The process also does not access any funny memory regions
> from userspace - it is basically networking (both TCP/IP
> and raw sockets) and crunching of the data received.
> No mmapped devices or something like that.
>
>> static inline void __native_flush_tlb_single(unsigned long addr)
>> {
>> __flush_tlb();
>> }
>>
>> This on top of the other two patches.
>
> It did not crash overnight, but it also does not show any
> minor fault counted for the threads, so I'm afraid the situation
> just did not happen - there should be at least one visible in
> the ps -o min_flt output, right?
If all the page faults are done by he main thread,
and the TLB gets properly flushed now, the other
threads might not see minor faults.
> I will give it some more testing time.
That is a good idea.
Now to figure out how we properly fix this
issue in the kernel...
We can add a bit in the architecture bits that
we use to check against other CPU and system
errata, and conditionally flush the whole TLB
from __native_flush_tlb_single().
The question is, how do we identify what CPUs
need the extra flushing?
And in what circumstances do they require it?
next prev parent reply other threads:[~2013-05-23 12:19 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-17 8:42 [PATCH - sort of] x86: Livelock in handle_pte_fault Stanislav Meduna
2013-05-22 0:39 ` Steven Rostedt
2013-05-22 7:32 ` Stanislav Meduna
2013-05-22 12:33 ` Rik van Riel
2013-05-22 15:01 ` Linus Torvalds
2013-05-22 17:41 ` [PATCH] mm: fix up a spurious page fault whenever it happens Rik van Riel
2013-05-22 18:04 ` Stanislav Meduna
2013-05-22 18:11 ` Steven Rostedt
2013-05-22 18:21 ` Stanislav Meduna
2013-05-22 18:35 ` Rik van Riel
2013-05-22 18:42 ` H. Peter Anvin
2013-05-22 18:43 ` Rik van Riel
2013-05-23 8:07 ` Stanislav Meduna
2013-05-23 12:19 ` Rik van Riel [this message]
2013-05-23 13:29 ` Steven Rostedt
2013-05-23 15:06 ` H. Peter Anvin
2013-05-23 15:27 ` Steven Rostedt
2013-05-23 17:24 ` H. Peter Anvin
2013-05-23 17:36 ` Steven Rostedt
2013-05-23 17:38 ` H. Peter Anvin
2013-05-24 8:29 ` Stanislav Meduna
2013-05-24 10:28 ` Stanislav Meduna
2013-05-24 13:06 ` Rik van Riel
2013-05-24 13:55 ` Stanislav Meduna
2013-05-24 14:23 ` Stanislav Meduna
2013-06-16 21:34 ` Stanislav Meduna
2013-06-18 19:13 ` Stanislav Meduna
2013-06-19 5:20 ` Linus Torvalds
2013-06-19 7:36 ` Stanislav Meduna
2013-06-19 8:06 ` Peter Zijlstra
2013-06-20 17:50 ` Stanislav Meduna
2013-05-23 14:45 ` Linus Torvalds
2013-05-23 14:50 ` Linus Torvalds
2013-05-23 15:03 ` Stanislav Meduna
2013-05-22 18:47 ` Stanislav Meduna
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=519E095A.4000105@redhat.com \
--to=riel@redhat.com \
--cc=hhuang@redhat.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=rostedt@goodmis.org \
--cc=stano@meduna.org \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=x86@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.