Bug 247767 - megaraid_sas ioctls fail under load
Summary: megaraid_sas ioctls fail under load
Status: CLOSED DUPLICATE of bug 312061
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: kernel
Version: 4.5
Hardware: All
OS: Linux
Target Milestone: ---
: ---
Assignee: Bryn M. Reeves
QA Contact: Martin Jenner
Depends On:
Blocks: 422551 430698
TreeView+ depends on / blocked
Reported: 2007-07-11 11:29 UTC by Bryn M. Reeves
Modified: 2009-12-15 15:47 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2008-02-06 18:08:29 UTC
Target Upstream Version:

Attachments (Terms of Use)
re-diff of upstream patch for RHEL4 (1.33 KB, patch)
2007-07-11 11:29 UTC, Bryn M. Reeves
no flags Details | Diff

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.

Note You need to log in before you can comment on or make changes to this bug.