From: Vasily Averin <vvs@sw.ru>
To: James Bottomley <James.Bottomley@SteelEye.com>
Cc: linux-scsi@vger.kernel.org, Neela.Kolli@engenio.com,
Atul Mukker <Atul.Mukker@lsil.com>,
Seokmann.Ju@lsil.com, sreenib@lsil.com, devel@openvz.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: megaraid_mbox: garbage in file
Date: Fri, 05 May 2006 22:17:29 +0400 [thread overview]
Message-ID: <445B96B9.20100@sw.ru> (raw)
In-Reply-To: <1146844763.9848.17.camel@mulgrave.il.steeleye.com>
James Bottomley wrote:
> On Fri, 2006-05-05 at 09:37 +0400, Vasily Averin wrote:
>>The issue is that the correctly finished scsi read command return me garbage
>>(repeated 0 ...127 -- see hexdump in my first letter) instead correct file content.
>>"attempt to access beyond end of device" messages occurs due the same garbage
>>readed from the Indirect block. I found this garbage present in data buffers
>>beginning at megaraid driver functions.
>>
>>I would note that if I read the same file by using dd with bs=1024 or bs=512 --
>>I get correct file content.
>>
>>When I use kernel with 4Gb memory limit -- the same cat command return me
>>correct file content too, without any garbage.
>>
>>Question is what it is the strange garbage? Have you seen it earlier?
>>Is it possible that it is some driver-related issue or it is broken hardware?
>>And why I can workaround this issue by using only 4Gb memory?
>
> This is really odd ... if the controller can't reach *any* memory above
> 32 bits, then, on an 8GB machine you'd expect corruption all over the
> place since most user pages come from the top of highmem.
>
> The first thing to try, since you have an opteron system, is to get rid
> of highmem entirely and use a 64 bit kernel (just to make sure we're not
> running into some annoying dma_addr_t conversion problem).
Unfortunately it is customers node, and I'm not able to re-install 64-bit
distribution to load 64-bit kernel. Of course I'll ask customer about this, but
it will be done later.
> Then, I
> suppose if that doesn't work, try printing out the actual contents of
> the sg list to see what the physical memory location of the page
> containing the corrupt block is.
I've already done such experiment:
On 2.6.8-based virtuozzo kernel I've added following code to
megaraid_mbox_display_scb function:
virt = page_address(sg[i].page) + sg[i].offset;
printk("mbox sg%d: page %p off %d addr %llx len %d "
"virt %p first %08x page->flags %08x\n",
i, sg[i].page, sg[i].offset, sg[i].dma_address, sg[i].length,
virt, virt == NULL ? 0: *(int *)virt, sg[i].page->flags);
and get the following results
May 4 02:51:38 vpsn002 kernel:
megaraid mailbox: status:0x0 cmd:0xa7 id:0x25 sec:0x1a
lba:0x33f624ac addr:0xffffffff ld:128 sg:4
scsi cmnd: 0x28 0x00 0x33 0xf6 0x24 0xac 0x00 0x00 0x1a 0x00
mbox request_buffer eafde340 use_sg 4
mbox sg0: page 077a0474 off 0 addr 1fd575000 len 4096 virt ff15a000
first 03020100 page->flags 40020101
mbox sg1: page 077b5738 off 0 addr 1fdede000 len 4096 virt ff141000
first 03020100 page->flags 40020101
mbox sg2: page 077ad500 off 0 addr 1fdb40000 len 4096 virt ff056000
first 03020100 page->flags 40020101
mbox sg3: page 030d46e8 off 1024 addr 5e6a400 len 1024 virt 07e6a400
first 03020100 page->flags 20001004
"first 03020100" shows that data in the all sg buffers is already corrupted.
Also I would note that page for last 1Kb buffer is not Highmem.
If you want I can reproduce this experiment on 2.6.16 kernel too.
> This could also be a firmware problem, I suppose, but I haven't seen any
> similar reports.
Thank you,
Vasily Averin
SWsoft Virtuozzo/OpenVZ Linux kernel team
next prev parent reply other threads:[~2006-05-05 18:14 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-04 18:48 megaraid_mbox: garbage in file Vasily Averin
2006-05-04 22:59 ` James Bottomley
2006-05-05 5:37 ` Vasily Averin
2006-05-05 9:21 ` Vasily Averin
2006-05-16 17:44 ` [RFC] Megaraid update, submission Andre Hedrick
2006-05-16 18:07 ` Jeff Garzik
2006-05-16 18:13 ` Andre Hedrick
2006-05-16 19:44 ` Matthew Wilcox
2006-05-16 20:24 ` Andre Hedrick
2006-05-05 15:59 ` megaraid_mbox: garbage in file James Bottomley
2006-05-05 18:17 ` Vasily Averin [this message]
2006-05-05 20:05 ` James Bottomley
2006-05-05 23:43 ` Vasily Averin
2006-05-05 23:43 ` Vasily Averin
-- strict thread matches above, loose matches on Subject: below --
2006-05-05 19:59 Ju, Seokmann
2006-05-05 19:59 ` Ju, Seokmann
2006-05-05 23:35 ` Vasily Averin
2006-05-12 4:18 ` Vasily Averin
2006-05-12 12:19 Ju, Seokmann
2006-05-12 12:19 ` Ju, Seokmann
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=445B96B9.20100@sw.ru \
--to=vvs@sw.ru \
--cc=Atul.Mukker@lsil.com \
--cc=James.Bottomley@SteelEye.com \
--cc=Neela.Kolli@engenio.com \
--cc=Seokmann.Ju@lsil.com \
--cc=devel@openvz.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=sreenib@lsil.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.