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 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.