FWIW - I don't experience the problem/message on a Debian Squeeze box running Linux deb003.pod01 2.6.32-5-xen-amd64 #1 SMP Mon Jan 16 20:48:30 UTC 2012 x86_64 GNU/Linux
I'm not currently able to re-compile my 3.2 ubuntu 12.04 kernel, but will try to find a comparable system to do it on. On Nov 20, 2012, at 11:20 PM, Bjørn Mork wrote: > Todd Fleisher <t...@fleetstreetops.com> writes: > >> I get this periodically (seemingly random - but usually once it starts >> happening it sticks around for a while, then disappears only to return >> later) when I'm using LSI's MegaCli64 utility. When the kernel logs the >> error the MegaCli64 command doesn't return any data either. >> >> Ex: >> root@deb015.pod02:~# MegaCli64 -PDList -aALL >> >> >> Exit Code: 0x00 >> >> >> Which is paired with a kernel message: >> Nov 20 20:29:50 deb015 kernel: [797020.797811] megasas: Failed to alloc >> kernel SGL buffer for IOCTL >> >> Other times that same command (or other MegaCli64 commands) will succeed and >> return the associated data. When this happens, there is no megasas kernel >> message. > > > Thanks. I don't know what the MegaCli64 utility does, but I assume it > use the driver specific ioctls to send passthrough commands like the > smartmontools do. That is consistent with your description. > > But I was concluding too fast as usual. The bug I found needs to be > fixed, but it cannot be the cause of this problem. If it were then you > would most likely see many other effects on your system. And the same > bug has been backported to 2.6.32 as well. And if if had not been, and > you are in fact hit by it, then your system would have crashed instead. > > So that cannot be the problem. And then I don't know what could have > changed between 2.6.32 and 3.2. Could be something outside this driver. > > It would be interesting to know something about the size of the buffers > which cannot be allocated. But running with debug pacthes is maybe out > of the question? Otherwise you could try running with something like > this to get a better picture of why this is failing: > > > diff --git a/drivers/scsi/megaraid/megaraid_sas_base.c > b/drivers/scsi/megaraid/megaraid_sas_base.c > index f013432..1c0fa1d 100644 > --- a/drivers/scsi/megaraid/megaraid_sas_base.c > +++ b/drivers/scsi/megaraid/megaraid_sas_base.c > @@ -4797,6 +4797,7 @@ megasas_mgmt_fw_ioctl(struct megasas_instance *instance, > if (!kbuff_arr[i]) { > printk(KERN_DEBUG "megasas: Failed to alloc " > "kernel SGL buffer for IOCTL \n"); > + printk(KERN_DEBUG "megasas: iov_len=%d\n", > ioc->sgl[i].iov_len); > error = -ENOMEM; > goto out; > } > > > > > Bjørn -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org