From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Toshi Kani <toshi.kani@hpe.com>
Cc: Toshi Kani <toshi.kani@hp.com>,
linux-kernel@vger.kernel.org,
openembedded-core <openembedded-core@lists.openembedded.org>,
Bruce Ashfield <bruce.ashfield@windriver.com>,
"Hart, Darren" <darren.hart@intel.com>,
Borislav Petkov <bp@suse.de>, "saul.wold" <saul.wold@intel.com>
Subject: Re: runtime regression with "x86/mm/pat: Emulate PAT when it is disabled"
Date: Sun, 6 Mar 2016 19:35:02 -0500 [thread overview]
Message-ID: <20160307003501.GB26051@windriver.com> (raw)
In-Reply-To: <1457129560.15454.266.camel@hpe.com>
[Re: runtime regression with "x86/mm/pat: Emulate PAT when it is disabled"] On 04/03/2016 (Fri 15:12) Toshi Kani wrote:
> On Fri, 2016-03-04 at 13:37 -0500, Paul Gortmaker wrote:
> > [Re: runtime regression with "x86/mm/pat: Emulate PAT when it is
> > disabled"] On 03/03/2016 (Thu 22:02) Toshi Kani wrote:
> >
> > > On Thu, 2016-03-03 at 15:59 -0500, Paul Gortmaker wrote:
> :
> > > >
> > > > The stand alone reproducer is here; launched in 00-runme:
> > > >
> > > > http://openlinux.wrs.com/pat-splat/reproducer.tar.bz2
> > > >
> > > > It is nothing fancy, just a generic yocto build of "sato" (gfx
> > > > enabled rootfs). When it "works" it boots to a UI touchscreen
> > > > interface. When
> > > > it fails, you get a black screen with a blinking cursor (as seen in
> > > > "vncviewer localhost:0").
> > >
> > > Thanks for tracking down, and packaging the reproducer. I simply
> > > untar'd and ran 00-runme, but was not able to connect with localhost:0.
> > > I am not familiar with qemu, so I have not looked into why, though...
> >
> > Maybe it was localhost:1 in your case? The qemu should have indicated
> > what vncserver sessions it started. Can you paste in the output from
> > the 00-runme? I tested the reproducer on a machine that was physically
> > distinct from the build, and that was a generic ubuntu install, but with
> > no qemu support installed at all and it worked there. Plus I got Bruce
> > to test it worked on his machine, so I'm rather surprised it did not
> > work for you.
>
> I am not really sure what I am doing is correct.
>
> On one window:
> # ./00-runme
> Warning: vlan 0 is not connected to host network
> VNC server running on '::1:5900'
Ah, it seems for some reason your system confuses qemu from using the
"normal" IPv4 default. Try editing ./00-runme and add an explicit
vnc option "-vnc 127.0.0.1:5" in front of "-show-cursor" and then:
>
> And another window on the same system:
> # vncviewer localhost:1
...connect to localhost:5 here. I chose 5 just to not bump into
anything your system might have on :0 or :1 already.
>
> TigerVNC Viewer 64-bit v1.6.0
> Built on: 2016-01-04 15:09
> Copyright (C) 1999-2015 TigerVNC Team and many others (see README.txt)
> See http://www.tigervnc.org for information on TigerVNC.
> Can't open display:
>
[snip analysis, leaving that for Richard to comment on.]
>
> > > Also, can you send me a whole dmesg output? I'd like to check how PAT
> > > is initialized.
> >
> > I'll send the full file off list vs. spamming everyone with it. I'm open
> > to booting the pre-fail commit with PAT specific bootargs and the post-
> > fail with the same and diffing the two dmesg if there are bootargs you'd
> > like me to test. I'd also like to ensure you have a working reproducer
> > locally so maybe we should look at how that failed 1st.
>
> Great. Yes, two dmesg will be really helpful.
So I booted both with "debugpat" on the bootline; both being the last
working commit [v4.1-rc5-21-g9dac62909451] and then the 1st failing
commit [v4.1-rc5-22-g9cd25aac1f44]. I captured the dmesg of each, then
stripped the timestamps and diffed them.
--- works.txt 2016-03-06 19:13:28.245836555 -0500
+++ fail.txt 2016-03-06 19:13:17.321836308 -0500
@@ -454,15 +454,38 @@
8021q: 802.1Q VLAN Support v1.8
8021q: adding VLAN 0 to HW filter on device eth0
x86/PAT: Overlap at 0xfd000000-0xfe000000
- x86/PAT: reserve_memtype added [mem 0xfd000000-0xfdffffff], track write-combining, req write-combining, ret write-combining
- x86/PAT: Overlap at 0xfe000000-0xfe010000
- x86/PAT: reserve_memtype added [mem 0xfe000000-0xfe00ffff], track uncached-minus, req uncached-minus, ret uncached-minus
+ x86/PAT: reserve_memtype added [mem 0xfd000000-0xfdffffff], track write-combining, req uncached-minus, ret write-combining
x86/PAT: free_memtype request [mem 0xfd000000-0xfdffffff]
- x86/PAT: free_memtype request [mem 0xfe000000-0xfe00ffff]
+ x86/PAT: Xorg:475 map pfn expected mapping type uncached-minus for [mem 0xfd000000-0xfdffffff], got write-combining
+ ------------[ cut here ]------------
+ WARNING: CPU: 0 PID: 475 at /home/paul/poky/build/tmp-glibc/work-shared/qemux86/kernel-source/arch/x86/mm/pat.c:938 untrack_pfn+0x9f/0xb0()
+ Modules linked in: 8021q parport_pc parport floppy uvesafb
+ CPU: 0 PID: 475 Comm: Xorg Not tainted 4.1.0-rc5-yocto-standard #1
+ Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
+ 00000000 00000000 cdf75db0 c1837711 00000000 cdf75de4 c104f0cb c1a39d10
+ 00000000 000001db c1a38f54 000003aa c1049ddf 000003aa c1049ddf 00000000
+ c0108840 00000000 cdf75df4 c104f1a2 00000009 00000000 cdf75e18 c1049ddf
+ Call Trace:
+ [<c1837711>] dump_stack+0x4b/0x75
+ [<c104f0cb>] warn_slowpath_common+0x8b/0xc0
+ [<c1049ddf>] ? untrack_pfn+0x9f/0xb0
+ [<c1049ddf>] ? untrack_pfn+0x9f/0xb0
+ [<c104f1a2>] warn_slowpath_null+0x22/0x30
+ [<c1049ddf>] untrack_pfn+0x9f/0xb0
+ [<c104b9d3>] ? __kunmap_atomic+0x33/0xc0
+ [<c113c07f>] unmap_single_vma+0x49f/0x4b0
+ [<c113cdc3>] unmap_vmas+0x43/0x60
+ [<c11428ff>] exit_mmap+0x5f/0xf0
+ [<c1072d39>] ? get_parent_ip+0x9/0x40
+ [<c104cccd>] mmput+0x2d/0xa0
+ [<c104dfdd>] copy_process.part.45+0x10dd/0x14a0
+ [<c104e541>] do_fork+0xc1/0x390
+ [<c104e8d5>] SyS_clone+0x25/0x30
+ [<c183ef46>] syscall_call+0x7/0x7
+ ---[ end trace dbbf5a6b2dea64ff ]---
x86/PAT: Overlap at 0xfd000000-0xfe000000
- x86/PAT: reserve_memtype added [mem 0xfd000000-0xfdffffff], track write-combining, req write-combining, ret write-combining
- x86/PAT: Overlap at 0xfe000000-0xfe010000
- x86/PAT: reserve_memtype added [mem 0xfe000000-0xfe00ffff], track uncached-minus, req uncached-minus, ret uncached-minus
+ x86/PAT: reserve_memtype added [mem 0xfd000000-0xfdffffff], track write-combining, req uncached-minus, ret write-combining
x86/PAT: free_memtype request [mem 0xfd000000-0xfdffffff]
+ x86/PAT: Xorg:475 map pfn expected mapping type uncached-minus for [mem 0xfd000000-0xfdffffff], got write-combining
x86/PAT: free_memtype request [mem 0xfe000000-0xfe00ffff]
- hrtimer: interrupt took 5057254 ns
+ x86/PAT: free_memtype request [mem 0xfd000000-0xfdffffff]
One obvious difference is the number of overlaps:
~$cat fail.txt |grep Overlap | wc -l
7
~$cat works.txt |grep Overlap | wc -l
9
~$
I'm assuming everyone here is used to reading diffs, but if someone
wants the full dmesg files let me know and I'll send them off-list.
Paul.
WARNING: multiple messages have this Message-ID (diff)
From: Paul Gortmaker <paul.gortmaker@windriver.com>
To: Toshi Kani <toshi.kani@hpe.com>
Cc: Borislav Petkov <bp@suse.de>,
Richard Purdie <richard.purdie@linuxfoundation.org>,
Toshi Kani <toshi.kani@hp.com>,
Bruce Ashfield <bruce.ashfield@windriver.com>,
openembedded-core <openembedded-core@lists.openembedded.org>,
"Hart, Darren" <darren.hart@intel.com>,
"saul.wold" <saul.wold@intel.com>, <linux-kernel@vger.kernel.org>
Subject: Re: runtime regression with "x86/mm/pat: Emulate PAT when it is disabled"
Date: Sun, 6 Mar 2016 19:35:02 -0500 [thread overview]
Message-ID: <20160307003501.GB26051@windriver.com> (raw)
In-Reply-To: <1457129560.15454.266.camel@hpe.com>
[Re: runtime regression with "x86/mm/pat: Emulate PAT when it is disabled"] On 04/03/2016 (Fri 15:12) Toshi Kani wrote:
> On Fri, 2016-03-04 at 13:37 -0500, Paul Gortmaker wrote:
> > [Re: runtime regression with "x86/mm/pat: Emulate PAT when it is
> > disabled"] On 03/03/2016 (Thu 22:02) Toshi Kani wrote:
> >
> > > On Thu, 2016-03-03 at 15:59 -0500, Paul Gortmaker wrote:
> :
> > > >
> > > > The stand alone reproducer is here; launched in 00-runme:
> > > >
> > > > http://openlinux.wrs.com/pat-splat/reproducer.tar.bz2
> > > >
> > > > It is nothing fancy, just a generic yocto build of "sato" (gfx
> > > > enabled rootfs). When it "works" it boots to a UI touchscreen
> > > > interface. When
> > > > it fails, you get a black screen with a blinking cursor (as seen in
> > > > "vncviewer localhost:0").
> > >
> > > Thanks for tracking down, and packaging the reproducer. I simply
> > > untar'd and ran 00-runme, but was not able to connect with localhost:0.
> > > I am not familiar with qemu, so I have not looked into why, though...
> >
> > Maybe it was localhost:1 in your case? The qemu should have indicated
> > what vncserver sessions it started. Can you paste in the output from
> > the 00-runme? I tested the reproducer on a machine that was physically
> > distinct from the build, and that was a generic ubuntu install, but with
> > no qemu support installed at all and it worked there. Plus I got Bruce
> > to test it worked on his machine, so I'm rather surprised it did not
> > work for you.
>
> I am not really sure what I am doing is correct.
>
> On one window:
> # ./00-runme
> Warning: vlan 0 is not connected to host network
> VNC server running on '::1:5900'
Ah, it seems for some reason your system confuses qemu from using the
"normal" IPv4 default. Try editing ./00-runme and add an explicit
vnc option "-vnc 127.0.0.1:5" in front of "-show-cursor" and then:
>
> And another window on the same system:
> # vncviewer localhost:1
...connect to localhost:5 here. I chose 5 just to not bump into
anything your system might have on :0 or :1 already.
>
> TigerVNC Viewer 64-bit v1.6.0
> Built on: 2016-01-04 15:09
> Copyright (C) 1999-2015 TigerVNC Team and many others (see README.txt)
> See http://www.tigervnc.org for information on TigerVNC.
> Can't open display:
>
[snip analysis, leaving that for Richard to comment on.]
>
> > > Also, can you send me a whole dmesg output? I'd like to check how PAT
> > > is initialized.
> >
> > I'll send the full file off list vs. spamming everyone with it. I'm open
> > to booting the pre-fail commit with PAT specific bootargs and the post-
> > fail with the same and diffing the two dmesg if there are bootargs you'd
> > like me to test. I'd also like to ensure you have a working reproducer
> > locally so maybe we should look at how that failed 1st.
>
> Great. Yes, two dmesg will be really helpful.
So I booted both with "debugpat" on the bootline; both being the last
working commit [v4.1-rc5-21-g9dac62909451] and then the 1st failing
commit [v4.1-rc5-22-g9cd25aac1f44]. I captured the dmesg of each, then
stripped the timestamps and diffed them.
--- works.txt 2016-03-06 19:13:28.245836555 -0500
+++ fail.txt 2016-03-06 19:13:17.321836308 -0500
@@ -454,15 +454,38 @@
8021q: 802.1Q VLAN Support v1.8
8021q: adding VLAN 0 to HW filter on device eth0
x86/PAT: Overlap at 0xfd000000-0xfe000000
- x86/PAT: reserve_memtype added [mem 0xfd000000-0xfdffffff], track write-combining, req write-combining, ret write-combining
- x86/PAT: Overlap at 0xfe000000-0xfe010000
- x86/PAT: reserve_memtype added [mem 0xfe000000-0xfe00ffff], track uncached-minus, req uncached-minus, ret uncached-minus
+ x86/PAT: reserve_memtype added [mem 0xfd000000-0xfdffffff], track write-combining, req uncached-minus, ret write-combining
x86/PAT: free_memtype request [mem 0xfd000000-0xfdffffff]
- x86/PAT: free_memtype request [mem 0xfe000000-0xfe00ffff]
+ x86/PAT: Xorg:475 map pfn expected mapping type uncached-minus for [mem 0xfd000000-0xfdffffff], got write-combining
+ ------------[ cut here ]------------
+ WARNING: CPU: 0 PID: 475 at /home/paul/poky/build/tmp-glibc/work-shared/qemux86/kernel-source/arch/x86/mm/pat.c:938 untrack_pfn+0x9f/0xb0()
+ Modules linked in: 8021q parport_pc parport floppy uvesafb
+ CPU: 0 PID: 475 Comm: Xorg Not tainted 4.1.0-rc5-yocto-standard #1
+ Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
+ 00000000 00000000 cdf75db0 c1837711 00000000 cdf75de4 c104f0cb c1a39d10
+ 00000000 000001db c1a38f54 000003aa c1049ddf 000003aa c1049ddf 00000000
+ c0108840 00000000 cdf75df4 c104f1a2 00000009 00000000 cdf75e18 c1049ddf
+ Call Trace:
+ [<c1837711>] dump_stack+0x4b/0x75
+ [<c104f0cb>] warn_slowpath_common+0x8b/0xc0
+ [<c1049ddf>] ? untrack_pfn+0x9f/0xb0
+ [<c1049ddf>] ? untrack_pfn+0x9f/0xb0
+ [<c104f1a2>] warn_slowpath_null+0x22/0x30
+ [<c1049ddf>] untrack_pfn+0x9f/0xb0
+ [<c104b9d3>] ? __kunmap_atomic+0x33/0xc0
+ [<c113c07f>] unmap_single_vma+0x49f/0x4b0
+ [<c113cdc3>] unmap_vmas+0x43/0x60
+ [<c11428ff>] exit_mmap+0x5f/0xf0
+ [<c1072d39>] ? get_parent_ip+0x9/0x40
+ [<c104cccd>] mmput+0x2d/0xa0
+ [<c104dfdd>] copy_process.part.45+0x10dd/0x14a0
+ [<c104e541>] do_fork+0xc1/0x390
+ [<c104e8d5>] SyS_clone+0x25/0x30
+ [<c183ef46>] syscall_call+0x7/0x7
+ ---[ end trace dbbf5a6b2dea64ff ]---
x86/PAT: Overlap at 0xfd000000-0xfe000000
- x86/PAT: reserve_memtype added [mem 0xfd000000-0xfdffffff], track write-combining, req write-combining, ret write-combining
- x86/PAT: Overlap at 0xfe000000-0xfe010000
- x86/PAT: reserve_memtype added [mem 0xfe000000-0xfe00ffff], track uncached-minus, req uncached-minus, ret uncached-minus
+ x86/PAT: reserve_memtype added [mem 0xfd000000-0xfdffffff], track write-combining, req uncached-minus, ret write-combining
x86/PAT: free_memtype request [mem 0xfd000000-0xfdffffff]
+ x86/PAT: Xorg:475 map pfn expected mapping type uncached-minus for [mem 0xfd000000-0xfdffffff], got write-combining
x86/PAT: free_memtype request [mem 0xfe000000-0xfe00ffff]
- hrtimer: interrupt took 5057254 ns
+ x86/PAT: free_memtype request [mem 0xfd000000-0xfdffffff]
One obvious difference is the number of overlaps:
~$cat fail.txt |grep Overlap | wc -l
7
~$cat works.txt |grep Overlap | wc -l
9
~$
I'm assuming everyone here is used to reading diffs, but if someone
wants the full dmesg files let me know and I'll send them off-list.
Paul.
next prev parent reply other threads:[~2016-03-07 0:35 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-03 20:59 runtime regression with "x86/mm/pat: Emulate PAT when it is disabled" Paul Gortmaker
2016-03-03 20:59 ` Paul Gortmaker
2016-03-03 21:18 ` Paul Gortmaker
2016-03-03 21:18 ` Paul Gortmaker
2016-03-04 5:02 ` Toshi Kani
2016-03-04 18:37 ` Paul Gortmaker
2016-03-04 18:37 ` Paul Gortmaker
2016-03-04 22:12 ` Toshi Kani
2016-03-07 0:35 ` Paul Gortmaker [this message]
2016-03-07 0:35 ` Paul Gortmaker
2016-03-07 16:03 ` Toshi Kani
[not found] ` <20160307210852.GC26051@windriver.com>
2016-03-07 23:38 ` Toshi Kani
2016-03-07 23:53 ` Paul Gortmaker
2016-03-08 0:56 ` Toshi Kani
2016-03-08 1:35 ` Toshi Kani
2016-03-08 3:28 ` Paul Gortmaker
2016-03-08 16:38 ` Toshi Kani
2016-03-10 14:42 ` Paul Gortmaker
2016-03-10 16:49 ` Toshi Kani
2016-03-10 17:20 ` Borislav Petkov
2016-03-10 19:04 ` Paul Gortmaker
2016-03-10 19:19 ` Borislav Petkov
2016-03-11 13:23 ` One Thousand Gnomes
2016-03-11 13:40 ` Borislav Petkov
2016-03-11 19:18 ` Paolo Bonzini
2016-03-11 22:16 ` Borislav Petkov
2016-03-11 22:28 ` Bruce Ashfield
2016-03-11 23:29 ` Richard Purdie
2016-03-12 12:03 ` Borislav Petkov
2016-03-10 20:12 ` Toshi Kani
2016-03-10 20:04 ` Toshi Kani
2016-03-10 19:20 ` Borislav Petkov
2016-03-10 20:24 ` Toshi Kani
2016-03-10 21:07 ` Borislav Petkov
2016-03-10 23:17 ` Toshi Kani
2016-03-08 3:16 ` Paul Gortmaker
2016-03-08 16:13 ` Toshi Kani
2016-03-08 16:03 ` Paul Gortmaker
2016-03-08 17:01 ` Toshi Kani
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=20160307003501.GB26051@windriver.com \
--to=paul.gortmaker@windriver.com \
--cc=bp@suse.de \
--cc=bruce.ashfield@windriver.com \
--cc=darren.hart@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=openembedded-core@lists.openembedded.org \
--cc=saul.wold@intel.com \
--cc=toshi.kani@hp.com \
--cc=toshi.kani@hpe.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 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.