Bug 247767

Summary: megaraid_sas ioctls fail under load
Product: Red Hat Enterprise Linux 4 Reporter: Bryn M. Reeves <bmr>
Component: kernelAssignee: Bryn M. Reeves <bmr>
Status: CLOSED DUPLICATE QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.5CC: andriusb, publicmailbox, suran.kularatna, tao
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-02-06 18:08:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 422551, 430698    
Description Flags
re-diff of upstream patch for RHEL4 none

Description Bryn M. Reeves 2007-07-11 11:29:12 UTC
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:

commit 9f35fa8a14e6216a859e2dfbe50ade497f9603ef
Author: Sumant Patro <sumantp@lsil.com>
Date:   Wed Feb 14 12:55:45 2007 -0800

    [SCSI] megaraid_sas: replace pci_alloc_consitent with dma_alloc_coherent in
ioctl path
    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 <sumant.patro@lsi.com>
    Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>

Appearing in dmesg.

Version-Release number of selected component (if applicable):

How reproducible:
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
Actual results:
Appearance of:
"megasas: Failed to alloc kernel SGL buffer for IOCTL"

in dmesg.

Expected results:
Megaraid_sas ioctls succeed.

Comment 1 Bryn M. Reeves 2007-07-11 11:29:13 UTC
Created attachment 158935 [details]
re-diff of upstream patch for RHEL4

Comment 3 Bryn M. Reeves 2008-02-06 18:08:29 UTC
This problem is addressed with the updated driver being tracked in bug 312061.

*** This bug has been marked as a duplicate of 312061 ***

Comment 4 Suran Kularatna 2009-10-02 13:06:10 UTC
where is the patch for this? what is thenumber?

Comment 5 Bryn M. Reeves 2009-10-02 13:15:07 UTC
Attached in comment #4 (a backport of the git commit given in comment #0).

Comment 6 Ben 2009-12-15 15:39:51 UTC
This bug is a duplicate of bug 312061, but that bug is not viewable by me.  Why is it being kept a secret?

Comment 7 Andrius Benokraitis 2009-12-15 15:47:28 UTC
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.