From: Helge Deller <deller@gmx.de>
To: James Bottomley <James.Bottomley@HansenPartnership.com>
Cc: linux-parisc@vger.kernel.org,
John David Anglin <dave@hiauly1.hia.nrc.ca>,
T-Bone@parisc-linux.org
Subject: Re: Patch for segfaults in minifail tests
Date: Sun, 02 May 2010 00:25:26 +0200 [thread overview]
Message-ID: <4BDCAA56.4010905@gmx.de> (raw)
In-Reply-To: <1272651697.2844.39.camel@mulgrave.site>
[-- Attachment #1: Type: text/plain, Size: 6738 bytes --]
On 04/30/2010 08:21 PM, James Bottomley wrote:
> T-bone is keeping a web page with all the failing tests on now:
>
> http://wiki.parisc-linux.org/TestCases
>
> The patch below is what I've found fixes the minifail6 case, but it
> doesn't seem to fully fix the minifail one (although the frequency goes
> down).
>
> It's the essential patch we need to fix up our kmapping. Right at the
> moment kmap of a page with a dirty cache line in userspace sees stale
> data and kunmap of a page the kernel has modified will see likewise.
Hi James,
I tried your patch on top of a 2.6.33.2 kernel (SMP, 32bit, PA8500 (PCX-W) CPU).
I still do see all the page faults as before. They even seem to trigger
faster than with a few of Dave's patches.
I usually run this command
i=0; while true; do i=$(($i+1)); echo Run $i; ./minifail_dave; done;
in a few screen sessions in parallel.
Thibeaut: I've attached the testcase (I called it minifail_dave, since it
was changed by Dave). Maybe you can attach it to your website if it's not
yet there...?
Helge
-----------------
do_page_fault() pid=4325 command='minifail_dave' type=6 address=0x00000003
YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001001111111100001111 Not tainted
r00-03 0004ff0f 1055e000 403390d7 c03613c0
r04-07 4034b5f4 00000007 4034bdf4 00000000
r08-11 4034be64 00000000 c03613ca 0000001c
r12-15 4034be60 4034c7f8 00000000 c0361448
r16-19 4034c0b0 c0361448 40349270 00000000
r20-23 00000000 00000000 00000000 00000000
r24-27 fffffff5 ffffffd3 4034c0b0 00011dac
r28-31 00000000 4034c0b0 c03614c0 403390d7
sr00-03 00001111 0000111c 00000000 00001111
sr04-07 00001111 00001111 00001111 00001111
VZOUICununcqcqcqcqcqcrmunTDVZOUI
FPSR: 00000000000000000000000000000000
FPER1: 00000000
fr00-03 0000000000000000 0000000000000000 0000000000000000 0000000000000000
fr04-07 8f828e808edb4080 000000001011be24 107495b01078db64 0000000000000000
fr08-11 8f844240107b8000 0000000800000000 8edb40808f828e80 8f8422b81056115c
fr12-15 107495b010803280 1056115c1011be24 00000002ffffff9c fffff00000000000
fr16-19 8f84428010802840 8f828edc8f828ec0 8f828e8000000000 8f81bea88f844208
fr20-23 8f8442088f844210 8f844208101dc9f4 0000000000000090 00001c9800000000
fr24-27 3ff0000000000000 3fe0000000000000 412e848000000000 00000000001e8480
fr28-31 000004000000007a 000000101016bee8 0000000f106ff040 106e3b3810802894
IASQ: 00001111 00001111 IAOQ: 00000003 00000007
IIR: 43ffff80 ISR: 00001111 IOR: 40000bd0
CPU: 0 CR30: 8d9f8000 CR31: ffffffff
ORIG_R28: 00000000
IAOQ[0]: 00000003
IAOQ[1]: 00000007
RP(r2): 403390d7
pagealloc: memory corruption
88140040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
88140050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
88140060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
88140070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
88140080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
88140090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
881400a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
881400b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
Backtrace:
[<1011ecb0>] show_stack+0x18/0x28
[<10117b94>] dump_stack+0x1c/0x2c
[<101c6270>] kernel_map_pages+0x2a0/0x2b8
[<1019eb24>] get_page_from_freelist+0x3e4/0x5f4
[<1019ee68>] __alloc_pages_nodemask+0x134/0x610
[<101b1d6c>] do_wp_page+0x260/0xa00
[<101b3ac0>] handle_mm_fault+0x4cc/0x784
[<1011d844>] do_page_fault+0x1f8/0x2fc
[<1011f4ec>] handle_interruption+0xec/0x730
[<10103078>] intr_check_sig+0x0/0x34
do_page_fault() pid=7143 command='minifail_dave' type=6 address=0x00000003
YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001001111111100001111 Not tainted
r00-03 0004ff0f 1055e000 403390d7 bffaa3c0
r04-07 4034b5f4 00000007 4034bdf4 00000000
r08-11 4034be64 00000000 bffaa3ca 0000001c
r12-15 4034be60 4034c7f8 00000000 bffaa448
r16-19 4034c0b0 bffaa448 40349270 00000000
r20-23 00000000 00000000 00000000 00000000
r24-27 fffffff5 ffffffd3 4034c0b0 00011dac
r28-31 00000000 4034c0b0 bffaa4c0 403390d7
sr00-03 00001c1b 00000000 00000000 00001c1b
sr04-07 00001c1b 00001c1b 00001c1b 00001c1b
VZOUICununcqcqcqcqcqcrmunTDVZOUI
FPSR: 00000000000000000000000000000000
FPER1: 00000000
fr00-03 0000000000000000 0000000000000000 0000000000000000 0000000000000000
fr04-07 8f828e808edb4080 000000001011be24 107495b01078db64 0000000000000000
fr08-11 8f844240107b8000 0000000800000000 8edb40808f828e80 8f8422b81056115c
fr12-15 107495b010803280 1056115c1011be24 00000002ffffff9c fffff00000000000
fr16-19 8f84428010802840 8f828edc8f828ec0 8f828e8000000000 8f81bea88f844208
fr20-23 8f8442088f844210 8f844208101dc9f4 0000000000000090 00001c9800000000
fr24-27 3ff0000000000000 3fe0000000000000 412e848000000000 00000000001e8480
fr28-31 000004000000007a 000000101016bee8 0000000f106ff040 106e3b3810802894
IASQ: 00001c1b 00001c1b IAOQ: 00000003 00000007
IIR: 43ffff80 ISR: 00001c1b IOR: 40000bd0
CPU: 1 CR30: 86860000 CR31: ffffffff
ORIG_R28: 00000000
IAOQ[0]: 00000003
IAOQ[1]: 00000007
RP(r2): 403390d7
do_page_fault() pid=9873 command='minifail_dave' type=6 address=0x00000003
YZrvWESTHLNXBCVMcbcbcbcbOGFRQPDI
PSW: 00000000000001001111111100001111 Not tainted
r00-03 0004ff0f 1055e000 403390d7 c06e53c0
r04-07 4034b5f4 00000007 4034bdf4 00000000
r08-11 4034be64 00000000 c06e53ca 0000001c
r12-15 4034be60 4034c7f8 00000000 c06e5448
r16-19 4034c0b0 c06e5448 40349270 00000000
r20-23 00000000 00000000 00000000 00000000
r24-27 fffffff5 ffffffd3 4034c0b0 00011dac
r28-31 00000000 4034c0b0 c06e54c0 403390d7
sr00-03 000026c7 00000000 00000000 000026c7
sr04-07 000026c7 000026c7 000026c7 000026c7
VZOUICununcqcqcqcqcqcrmunTDVZOUI
FPSR: 00000000000000000000000000000000
FPER1: 00000000
fr00-03 0000000000000000 0000000000000000 0000000000000000 0000000000000000
fr04-07 8f828e808edb4080 000000001011be24 107495b01078db64 0000000000000000
fr08-11 8f844240107b8000 0000000800000000 8edb40808f828e80 8f8422b81056115c
fr12-15 107495b010803280 1056115c1011be24 00000002ffffff9c fffff00000000000
fr16-19 8f84428010802840 8f828edc8f828ec0 8f828e8000000000 8f81bea88f844208
fr20-23 8f8442088f844210 8f844208101dc9f4 0000000000000090 00001c9800000000
fr24-27 3ff0000000000000 3fe0000000000000 412e848000000000 00000000001e8480
fr28-31 000004000000007a 000000101016bee8 0000000f106ff040 106e3b3810802894
IASQ: 000026c7 000026c7 IAOQ: 00000003 00000007
IIR: 43ffff80 ISR: 000026c7 IOR: 40000bd0
CPU: 0 CR30: 8dadc000 CR31: ffffffff
ORIG_R28: 00000000
IAOQ[0]: 00000003
IAOQ[1]: 00000007
RP(r2): 403390d7
[-- Attachment #2: minifail_dave.cpp --]
[-- Type: text/plain, Size: 644 bytes --]
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
/*
g++ minifail_dave.cpp -o minifail_dave -O0 -pthread -g
i=0; while true; do i=$(($i+1)); echo Run $i; ./minifail_dave; done;
*/
void* thread_run(void* arg) {
write(1,"Thread OK.\n",11);
}
int pure_test() {
pthread_t thread;
pthread_create(&thread, NULL, thread_run, NULL);
switch (fork()) {
case -1:
perror("fork() failed");
case 0:
write(1,"Child OK.\n",10);
_exit(0);
default:
break;
}
pthread_join(thread, NULL);
return 0;
}
int main(int argc, char** argv) {
return pure_test();
}
next prev parent reply other threads:[~2010-05-01 22:25 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-30 18:21 Patch for segfaults in minifail tests James Bottomley
2010-04-30 21:11 ` John David Anglin
2010-04-30 21:13 ` James Bottomley
2010-05-01 18:29 ` Thibaut VARENE
2010-05-01 22:25 ` Helge Deller [this message]
2010-05-01 23:13 ` John David Anglin
2010-05-01 23:39 ` James Bottomley
2010-05-03 21:54 ` John David Anglin
2010-05-01 23:40 ` Thibaut VARÈNE
2010-05-02 8:19 ` Helge Deller
2010-05-02 10:59 ` Thibaut VARÈNE
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=4BDCAA56.4010905@gmx.de \
--to=deller@gmx.de \
--cc=James.Bottomley@HansenPartnership.com \
--cc=T-Bone@parisc-linux.org \
--cc=dave@hiauly1.hia.nrc.ca \
--cc=linux-parisc@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox