All of lore.kernel.org
 help / color / mirror / Atom feed
From: Matt Fleming <matt@console-pimps.org>
To: linux-sh@vger.kernel.org
Subject: Re: User mode address error problems on 7763
Date: Tue, 15 Sep 2009 08:39:44 +0000	[thread overview]
Message-ID: <20090915083944.GA6518@console-pimps.org> (raw)
In-Reply-To: <6e6aa1a80909111106l6dbcfccag4e9e7a3abb922688@mail.gmail.com>

On Mon, Sep 14, 2009 at 08:54:31AM -0500, Dale Larson wrote:
> On Mon, Sep 14, 2009 at 8:14 AM, Matt Fleming <matt@console-pimps.org> wrote:
>
> >There was an issue a few weeks ago
> > where we were unneccessarily reporting unaligned fix ups. It was fixed
> > by this commit,
> 
> I think later changes may have changed that. There are now a couple
> global variables used to control kernel and user messages having to do
> with address fixups in traps_32.c.:
> 
> /* bitfield: 1: warn 2: fixup 4: signal -> combinations 2|4 && 1|2|4
> are not valid! */
> static int se_usermode = 3;
> /* 0: no warning 1: print a warning message */
> static int se_kernmode_warn = 0;  /* WAS 1 - DLL20090914 */
> 

Ah, OK, I missed that change.

> 
> Log of kernel run:
> 

[...]

> Starting network...
> ip: RTNETLINK answers: File exists
> [   17.040000] Unaligned userspace access in "sh" pid\x189
> pc=0x295583d0 ins=0x60b2
> [   17.044000] Fixing up unaligned userspace access in "sh" pid\x189
> pc=0x295583d0 ins=0x60b2
> [   17.048000] Sending SIGBUS to "sh" due to unaligned access (PC
> a0042955 PR 295583da)
> Starting dropbear sshd: generating rsa key... generating dsa key... OK
> [   45.608000] Unaligned userspace access in "syslogd" pid\x199
> pc=0x295583d0 ins=0x60b2
> [   45.612000] Fixing up unaligned userspace access in "syslogd"
> pid\x199 pc=0x295583d0 ins=0x60b2
> [   45.624000] Sending SIGBUS to "syslogd" due to unaligned access (PC
> a0042955 PR 295583da)
> 

OK, these are unexpected fixups and similar to the issues I've been
seeing. The current train of thought is that these unaligned accesses
are a symptom of having aliases in the D-cache. I've been trawling
through the cache/tlb code for SH4 and so far haven't found the bug.

As a little experiment, could you try bumping the page size from 4K to
8K and see if the unaligned accesses go away? If they are caused by
D-cache aliasing, in theory, they should disappear with 8K pages.

The option in menuconfig is under,

    System type --->
    	   Memory management options --->
	   	  Kernel page size --->

> [  108.736000] ------------[ cut here ]------------
> [  108.736000] Kernel BUG at 8804492e [verbose debug info unavailable]
> [  108.736000] Kernel BUG: 003e [#1]
> [  108.736000]
> [  108.736000] Pid : 198, Comm:                 sh
> [  108.736000] CPU : 0                  Not tainted  (2.6.31-rc9 #5)
> [  108.736000]
> [  108.736000] PC is at cache_alloc_refill+0xc2/0x39c
> [  108.736000] PR is at kmem_cache_alloc+0x52/0xb0
> [  108.736000] PC  : 8804492e SP  : 8f903e94 SR  : 400080f1 TEA : 00485a14
> [  108.736000] R0  : 00000023 R1  : 0000002e R2  : 0000002e R3  : 8f8e2e48
> [  108.736000] R4  : 00000010 R5  : 8f8029a0 R6  : 8f8e2000 R7  : 0000002f
> [  108.736000] R8  : 8f8029a8 R9  : 8f809400 R10 : 8f8029b0 R11 : 8f800a20
> [  108.736000] R12 : 0000000f R13 : 00000001 R14 : 8f903e94
> [  108.736000] MACH: 00000000 MACL: 00000d74 GBR : 00000000 PR  : 88044d2a
> [  108.736000]
> [  108.736000] Call trace:
> [  108.736000]  [<88044d2a>] kmem_cache_alloc+0x52/0xb0
> [  108.736000]  [<88011790>] dup_mm+0x150/0x2cc
> [  108.736000]  [<88011e64>] copy_process+0x518/0xa9c
> [  108.736000]  [<880bc614>] memcpy+0x0/0x28c
> [  108.736000]  [<880124d6>] do_fork+0xee/0x250
> [  108.736000]  [<88003bac>] sys_fork+0x0/0x28
> [  108.736000]  [<88003bc8>] sys_fork+0x1c/0x28
> [  108.736000]  [<88003bac>] sys_fork+0x0/0x28
> [  108.736000]  [<88007226>] syscall_call+0xc/0x10
> [  108.736000]
> [  108.736000] Code:
> [  108.736000]   88044928:  mov.l     @(28,r11), r1
> [  108.736000]   8804492a:  cmp/hs    r1, r2
> [  108.736000]   8804492c:  bf        8804495a
> [  108.736000] ->8804492e:  trapa     #62
> [  108.736000]   88044930:  bra       8804495c
> [  108.736000]   88044932:  mov       r12, r4
> [  108.736000]   88044934:  mov.l     @(16,r11), r3
> [  108.736000]   88044936:  mov.l     @(20,r6), r1
> [  108.736000]   88044938:  mov.l     @r9, r2
> [  108.736000]
> [  108.736000] Process: sh (pid: 198, stack limit = 8f902001)
> [  108.736000] Stack: (0x8f903e94 to 0x8f904000)
> [  108.736000] 3e80:
> 000000d0 000000d0 00000000
> [  108.736000] 3ea0: 88044d2a 8f903ec0 8f95248c 8f8d5ba0 8f800a20
> 000000d0 00000001 00000000
> [  108.736000] 3ec0: 88011790 8f903ed8 8f8fff44 8f8d5380 00000001
> 8f952470 8f952488 8f95247c
> [  108.736000] 3ee0: 8f8d53b4 8f8d5bd4 88011e64 8f903f08 8f865900
> 8f867840 8f86793c 880bc614
> [  108.736000] 3f00: fffffff4 00000000 8f865940 00000000 8f903fa4
> 7bdf09d8 00000011 8f867954
> [  108.736000] 3f20: 00000000 8f44ec38 00000000 880124d6 8f903f58
> 00000000 00000000 00000011
> [  108.736000] 3f40: 00000071 00000000 88003bac 00000000 00000000
> 00000000 00000000 8f903fa4
> [  108.736000] 3f60: 7bdf09d8 00000000 00456fd0 10000000 00481e4c
> 88003bc8 8f903f9c ffffffff
> [  108.736000] 3f80: 295da3b8 00000000 00000071 00000100 88003bac
> 00000000 00000000 88007226
> [  108.736000] 3fa0: 7bdf09d8 00000002 00403c70 08000000 00000002
> 00485a00 00483234 00000000
> [  108.736000] 3fc0: 00000004 00483234 00485a00 00000000 004847fd
> 295da3b8 ffffffff 7bdf09d8
> [  108.736000] 3fe0: 7bdf09d8 29591782 0042403c 00000000 00000000
> 0000003e 000000c8 00000040
> [  108.740000] ---[ end trace 0313ffa0cd7d6a7f ]---
> 

Can you reliably reproduce this? A little tip when doing development is
to turn on Verbose BUG() reporting, which is located in the Kernel
Hacking menu. That'll give you a line and number in the source file.

  parent reply	other threads:[~2009-09-15  8:39 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-11 18:06 User mode address error problems on 7763 Dale Larson
2009-09-11 18:35 ` Matt Fleming
2009-09-11 19:16 ` Dale Larson
2009-09-14 13:02 ` Dale Larson
2009-09-14 13:10 ` Paul Mundt
2009-09-14 13:14 ` Matt Fleming
2009-09-14 13:54 ` Dale Larson
2009-09-15  8:39 ` Matt Fleming [this message]
2009-09-15 11:54 ` Dale Larson
2009-09-15 11:57 ` Paul Mundt
2009-09-15 12:20 ` Dale Larson
2009-09-15 12:36 ` Paul Mundt
2009-09-15 12:55 ` Dale Larson
2009-09-15 13:07 ` Paul Mundt
2009-09-15 13:16 ` Dale Larson
2009-09-15 13:23 ` Dale Larson
2009-09-15 13:29 ` Dale Larson
2009-09-15 13:39 ` Paul Mundt
2009-09-15 13:49 ` Valentin R Sitsikov
2009-09-15 14:43 ` Dale Larson
2009-09-15 23:42 ` Paul Mundt
2009-09-16 12:45 ` Dale Larson
2009-09-16 19:22 ` Dale Larson

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=20090915083944.GA6518@console-pimps.org \
    --to=matt@console-pimps.org \
    --cc=linux-sh@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.