All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Holt <holt@sgi.com>
To: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: tony.luck@intel.com, bzolnier@gmail.com,
	linux-ia64@vger.kernel.org, linux-ide@vger.kernel.org
Subject: Re: kernel unaligned accesses on IA64 in IDE
Date: Wed, 20 Aug 2008 14:35:31 +0000	[thread overview]
Message-ID: <20080820143531.GA6488@sgi.com> (raw)
In-Reply-To: <20080819225606.GB22088@us.ibm.com>

On Tue, Aug 19, 2008 at 03:56:06PM -0700, Nishanth Aravamudan wrote:
> Hi Tony, Bart,
> 
> As mentioned in the cpu_clock() thread, I am seeing (consistently) 5
> unaligned accesses in the bootlogs on a 2-node IA64 box:
> 
> [   32.593534] kernel unaligned access to 0xe000000644220466, ip=0xa000000100516fa1
> [   32.601171] kernel unaligned access to 0xe00000064422046e, ip=0xa000000100516fa1
> [   35.333273] kernel unaligned access to 0xe00000064451693e, ip=0xa000000100516fa1
> [   35.340912] kernel unaligned access to 0xe000000644516942, ip=0xa000000100516fa1
> [   35.348557] kernel unaligned access to 0xe000000644516946, ip=0xa000000100516fa1
> 
> Looking in the corresponding System.map, I see:
> 
> a000000100516940 T ide_input_data
> a000000100516ec0 T ide_output_data
> a000000100517340 T ide_execute_command
> a000000100517420 t atapi_reset_pollfunc

I compiled your .config with commit ??? and got ide_output_data at
a000000100516ae0 so the offending instruction is at a000000100516bc1

a000000100516bc0:       08 a8 00 4c 18 10       [MMI]       ld8 r21=[r38]
a000000100516bc6:       d0 22 90 20 28 c0                   ld4 r45=[r36],4
a000000100516bcc:       05 28 01 84                         mov r46=r37

Those look reasonable.

That seems to be coming from include/asm/io.h:280

static inline void
__outsl (unsigned long port, const void *src, unsigned long count)
{
	const unsigned int *sp = src;

	while (count--)
		platform_outl(*sp++, port);
}

which is really outsl and that is only used on line 339:
			outsl(data_addr, buf, len / 4);

With as little as I know about what I am doing, I would probably add a
printk immediately after the outsl line and dump out data_addr, buf, and
len to see what those values are.  I expect either data_addr is not
aligned on an 8 byte boundary or buf is not aligned on a 4 byte
boundary.

Keep in mind that I may have completely messed up my analysis and I am
pursuing the wrong line entirely.


Good Luck,
Robin

WARNING: multiple messages have this Message-ID (diff)
From: Robin Holt <holt@sgi.com>
To: Nishanth Aravamudan <nacc@us.ibm.com>
Cc: tony.luck@intel.com, bzolnier@gmail.com,
	linux-ia64@vger.kernel.org, linux-ide@vger.kernel.org
Subject: Re: kernel unaligned accesses on IA64 in IDE
Date: Wed, 20 Aug 2008 09:35:31 -0500	[thread overview]
Message-ID: <20080820143531.GA6488@sgi.com> (raw)
In-Reply-To: <20080819225606.GB22088@us.ibm.com>

On Tue, Aug 19, 2008 at 03:56:06PM -0700, Nishanth Aravamudan wrote:
> Hi Tony, Bart,
> 
> As mentioned in the cpu_clock() thread, I am seeing (consistently) 5
> unaligned accesses in the bootlogs on a 2-node IA64 box:
> 
> [   32.593534] kernel unaligned access to 0xe000000644220466, ip=0xa000000100516fa1
> [   32.601171] kernel unaligned access to 0xe00000064422046e, ip=0xa000000100516fa1
> [   35.333273] kernel unaligned access to 0xe00000064451693e, ip=0xa000000100516fa1
> [   35.340912] kernel unaligned access to 0xe000000644516942, ip=0xa000000100516fa1
> [   35.348557] kernel unaligned access to 0xe000000644516946, ip=0xa000000100516fa1
> 
> Looking in the corresponding System.map, I see:
> 
> a000000100516940 T ide_input_data
> a000000100516ec0 T ide_output_data
> a000000100517340 T ide_execute_command
> a000000100517420 t atapi_reset_pollfunc

I compiled your .config with commit ??? and got ide_output_data at
a000000100516ae0 so the offending instruction is at a000000100516bc1

a000000100516bc0:       08 a8 00 4c 18 10       [MMI]       ld8 r21=[r38]
a000000100516bc6:       d0 22 90 20 28 c0                   ld4 r45=[r36],4
a000000100516bcc:       05 28 01 84                         mov r46=r37

Those look reasonable.

That seems to be coming from include/asm/io.h:280

static inline void
__outsl (unsigned long port, const void *src, unsigned long count)
{
	const unsigned int *sp = src;

	while (count--)
		platform_outl(*sp++, port);
}

which is really outsl and that is only used on line 339:
			outsl(data_addr, buf, len / 4);

With as little as I know about what I am doing, I would probably add a
printk immediately after the outsl line and dump out data_addr, buf, and
len to see what those values are.  I expect either data_addr is not
aligned on an 8 byte boundary or buf is not aligned on a 4 byte
boundary.

Keep in mind that I may have completely messed up my analysis and I am
pursuing the wrong line entirely.


Good Luck,
Robin

  parent reply	other threads:[~2008-08-20 14:35 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-19 22:56 kernel unaligned accesses on IA64 in IDE Nishanth Aravamudan
2008-08-19 22:56 ` Nishanth Aravamudan
2008-08-20  1:39 ` Peter Chubb
2008-08-20  1:39   ` Peter Chubb
2008-08-21 21:28   ` Nishanth Aravamudan
2008-08-21 21:28     ` Nishanth Aravamudan
2008-08-20 14:35 ` Robin Holt [this message]
2008-08-20 14:35   ` Robin Holt
2008-08-21 21:31   ` Nishanth Aravamudan
2008-08-21 21:31     ` Nishanth Aravamudan
2008-08-21 21:54     ` Robin Holt
2008-08-21 21:54       ` Robin Holt
2008-08-22  0:39       ` Nishanth Aravamudan
2008-08-22  0:39         ` Nishanth Aravamudan
2008-08-22  1:11         ` Robin Holt
2008-08-22  1:11           ` Robin Holt
2008-08-22 16:45           ` Nishanth Aravamudan
2008-08-22 16:45             ` Nishanth Aravamudan
2008-08-22 10:15         ` Bartlomiej Zolnierkiewicz
2008-08-22 10:15           ` Bartlomiej Zolnierkiewicz
2008-08-22 10:55           ` Boris Petkov
2008-08-22 10:55             ` Boris Petkov
2008-08-22 16:45             ` Nishanth Aravamudan
2008-08-22 16:45               ` Nishanth Aravamudan
2008-08-22 17:29               ` Boris Petkov
2008-08-22 17:29                 ` Boris Petkov
2008-08-22 18:36                 ` Bartlomiej Zolnierkiewicz
2008-08-22 18:36                   ` Bartlomiej Zolnierkiewicz
2008-08-22 18:51                   ` Luck, Tony
2008-08-22 18:51                     ` Luck, Tony
2008-08-22 19:39                     ` Robin Holt
2008-08-22 19:39                       ` Robin Holt
2008-08-22 20:36                       ` Luck, Tony
2008-08-22 20:36                         ` Luck, Tony
2008-08-22 20:41                         ` Borislav Petkov
2008-08-22 20:41                           ` Borislav Petkov
2008-08-22 20:54                         ` Borislav Petkov
2008-08-22 20:54                           ` Borislav Petkov
2008-08-22 21:38                           ` Nishanth Aravamudan
2008-08-22 21:38                             ` Nishanth Aravamudan
2008-08-22 21:49                             ` Borislav Petkov
2008-08-22 21:49                               ` Borislav Petkov
2008-08-22 21:14                         ` Borislav Petkov
2008-08-22 21:14                           ` Borislav Petkov
2008-08-22 23:02                           ` Nishanth Aravamudan
2008-08-22 23:02                             ` Nishanth Aravamudan
2008-08-22 23:30                             ` Luck, Tony
2008-08-22 23:30                               ` Luck, Tony
2008-08-22 23:33                               ` James Bottomley
2008-08-22 23:33                                 ` James Bottomley
2008-08-22 21:15                         ` James Bottomley
2008-08-22 21:15                           ` James Bottomley
2008-08-25 16:31                           ` Nishanth Aravamudan
2008-08-25 16:31                             ` Nishanth Aravamudan

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=20080820143531.GA6488@sgi.com \
    --to=holt@sgi.com \
    --cc=bzolnier@gmail.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=nacc@us.ibm.com \
    --cc=tony.luck@intel.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.