Description of problem:
The megaraid_sas driver uses pci_alloc_consistent to allocate an array of
buffers to copy user arguments into within the ioctl path.
This can fail under heavy load leading to messages like:
megasas: Failed to alloc kernel SGL buffer for IOCTL
Upstream fixed this here:
Author: Sumant Patro <email@example.com>
Date: Wed Feb 14 12:55:45 2007 -0800
[SCSI] megaraid_sas: replace pci_alloc_consitent with dma_alloc_coherent in
Replaced pci_alloc_consistent with dma_alloc_coherent from the ioctl path.
This is to avoid situations where ioctl fails for lack of memory
(when system under heavy stress).
Signed-off-by: Sumant Patro <firstname.lastname@example.org>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Appearing in dmesg.
Version-Release number of selected component (if applicable):
Moderate; problem was observed during pre-production stress testing of boxes
using megaraid_sas as the primary storage.
Steps to Reproduce:
1. Configure a system with megaraid_sas providing storage
2. Create memory pressure on the system while something is attempting ioctl
commands on the megaraid
"megasas: Failed to alloc kernel SGL buffer for IOCTL"
Megaraid_sas ioctls succeed.
Created attachment 158935 [details]
re-diff of upstream patch for RHEL4
This problem is addressed with the updated driver being tracked in bug 312061.
*** This bug has been marked as a duplicate of 312061 ***
where is the patch for this? what is thenumber?
Attached in comment #4 (a backport of the git commit given in comment #0).
This bug is a duplicate of bug 312061, but that bug is not viewable by me. Why is it being kept a secret?
Ben - this issue was resolved in RHEL 4.7. Please upgrade to RHEL 4.7, else file a support ticket.
Bug 312061 contains partner-NDA confidential information in it.