- 13 2月, 2017 10 次提交
-
-
由 Shivasharan S 提交于
Fix indentation issues and smatch warning reported by Dan Carpenter for previous series as discussed below. http://www.spinics.net/lists/linux-scsi/msg103635.html http://www.spinics.net/lists/linux-scsi/msg103603.htmlReported-by: NDan Carpenter <dan.carpenter@oracle.com> Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Signed-off-by: NSasikumar Chandrasekaran <sasikumar.pc@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Shivasharan S 提交于
Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Signed-off-by: NShivasharan S <shivasharan.srikanteshwara@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Shivasharan S 提交于
scsi: megaraid_sas: set pd_after_lb from MR_BuildRaidContext and initialize pDevHandle to MR_DEVHANDLE_INVALID Issue is limited for Syncro firmware where pd_after_lb is not set but is accidentally used. Not a functional issue, but results in low performance due to improper load balancing between two LUNs. Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Signed-off-by: NShivasharan S <shivasharan.srikanteshwara@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Shivasharan S 提交于
Fix endiannes fixes for Ventura specific. Signed-off-by: NShivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Shivasharan S 提交于
Change MR_TargetIdToLdGet return type from u8 to u16. ld id range check is added at two places in this patch - @megasas_build_ldio_fusion and @megasas_build_ld_nonrw_fusion. Previous driver code used different data type for lds TargetId returned from MR_TargetIdToLdGet. Prior to this change, above two functions was safeguarded due to function always return u8 and maximum value of ld id returned was 255. In below check, fw_supported_vd_count as of today is 64 or 256 and valid range to support is either 0-63 or 0-255. Ideally want to filter accessing raid map for ld ids which are not valid. With the u16 change, invalid ld id value is 0xFFFF and we will see kernel panic due to random memory access in MR_LdRaidGet. The changes will ensure we do not call MR_LdRaidGet if ld id is beyond size of ldSpanMap array. if (ld < instance->fw_supported_vd_count) >From firmware perspective,ld id 0xFF is invalid and even though current driver code forward such command, firmware fails with target not available. ld target id issue occurs mainly whenever driver loops to populate raid map (ea. MR_ValidateMapInfo). These are the only two places where we may see out of range target ids and wants to protect raid map access based on range provided by Firmware API. Signed-off-by: NShivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Shivasharan S 提交于
scsi: megaraid_sas: In validate raid map, raid capability is not converted to cpu format for all lds On a host, if an ld is deleted there is a hole in the ld array returned by the FW. But in MR_ValidateMapInfo we are not accounting for holes in the ld array and traverse only upto index num_lds. This patch takes care of converting the capability field of all the valid lds in the ld raid map. Signed-off-by: NShivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Shivasharan S 提交于
Currently fusion context has fixed array load_balance_info. Use dynamic allocation. In few places, driver do not want physically contigious memory. Attempt to use vmalloc if physical contiguous memory is not available. Signed-off-by: NShivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Shivasharan S 提交于
This patch provide true fast path IO support. Driver creates PRP for NVME drives and send Fast Path for performance. Certain h/w requirement needs to be taken care in driver. Signed-off-by: NShivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Shivasharan S 提交于
No functional change. Code refactor. Remove function megasas_fpio_to_ldio as we never require to convert fpio to ldio because of frame unavailability. Grab extra frame of raid 1 write fast path before it creates first frame as Fast Path. Removed is_raid_1_fp_write flag as raid 1 write fast path command is decided using r1_alt_dev_handle only. Move resetting megasas_cmd_fusion fields at common function megasas_return_cmd_fusion. Signed-off-by: NShivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Shivasharan S 提交于
This reverts commit "3e5eadb1" ("scsi: megaraid_sas: Enable or Disable Fast path based on the PCI Threshold Bandwidth") This patch was aimed to increase performance of R1 Write operation for large IO size. Since this method used timer approach, it turn on/off fast path did not work as expected. Patch 0013 describes new algorithm and performance number. Signed-off-by: NShivasharan S <shivasharan.srikanteshwara@broadcom.com> Signed-off-by: NKashyap Desai <kashyap.desai@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 11 1月, 2017 4 次提交
-
-
由 Sasikumar Chandrasekaran 提交于
Large SEQ IO workload should sent as non fast path commands Signed-off-by: NSasikumar Chandrasekaran <sasikumar.pc@broadcom.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Sasikumar Chandrasekaran 提交于
SAS3.5 Generic Megaraid Controllers FW will support new dynamic RaidMap to have different sizes for different number of supported VDs. Signed-off-by: NSasikumar Chandrasekaran <sasikumar.pc@broadcom.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Sasikumar Chandrasekaran 提交于
To improve RAID 1/10 Write performance, OS drivers need to issue the required Write IOs as Fast Path IOs (after the appropriate checks allowing Fast Path to be used) to the appropriate physical drives (translated from the OS logical IO) and wait for all Write IOs to complete. Design: A write IO on RAID volume will be examined if it can be sent in Fast Path based on IO size and starting LBA and ending LBA falling on to a Physical Drive boundary. If the underlying RAID volume is a RAID 1/10, driver issues two fast path write IOs one for each corresponding physical drive after computing the corresponding start LBA for each physical drive. Both write IOs will have the same payload and are posted to HW such that replies land in the same reply queue. If there are no resources available for sending two IOs, driver will send the original IO from SCSI layer to RAID volume through the Firmware. Based on PCI bandwidth and write payload, every second this feature is enabled/disabled. When both IOs are completed by HW, the resources will be released and SCSI IO completion handler will be called. Signed-off-by: NSasikumar Chandrasekaran <sasikumar.pc@broadcom.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Sasikumar Chandrasekaran 提交于
Detect sequential Write IOs and pass the hint that it is part of sequential stream to help HBA Firmware do the Full Stripe Writes. For read IOs on certain RAID volumes like Read Ahead volumes,this will help driver to send it to Firmware even if the IOs can potentially be sent to hardware directly (called fast path) bypassing firmware. Design: 8 streams are maintained per RAID volume as per the combined firmware/driver design. When there is no stream detected the LRU stream is used for next potential stream and LRU/MRU map is updated to make this as MRU stream. Every time a stream is detected the MRU map is updated to make the current stream as MRU stream. Signed-off-by: NSasikumar Chandrasekaran <sasikumar.pc@broadcom.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 09 11月, 2016 1 次提交
-
-
由 Kashyap Desai 提交于
This patch fixes the issue of wrong PhysArm was sent to firmware for R1 VD downgrade. Signed-off-by: NKiran Kumar Kasturi <kiran-kumar.kasturi@broadcom.com> Signed-off-by: NSumit Saxena <sumit.saxena@broadcom.com> Reviewed-by: NHannes Reinecke <hare@suse.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 24 2月, 2016 1 次提交
-
-
由 Sumit Saxena 提交于
Firmware will fill out per-LD data to tell driver whether a particular LD supports region lock bypass. If yes, then driver will send non-FP LDIO to region lock bypass FIFO. With this change in driver, firmware will optimize certain code to improve performance. Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com> Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 03 11月, 2015 1 次提交
-
-
Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 29 10月, 2015 1 次提交
-
-
Remove PCI id based checks and use instance->ctrl_context to decide whether controller is MFI-based or a Fusion adapter. Additionally, Fusion adapters are divided into two categories: Thunderbolt and Invader. Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com> Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
- 15 6月, 2015 1 次提交
-
-
由 Suthikulpanit, Suravee 提交于
Signed-off-by: NSuravee Suthikulpanit <Suravee.Suthikulpanit@amd.com> Cc: Kashyap Desai <kashyap.desai@avagotech.com> Cc: Sumit Saxena <sumit.saxena@avagotech.com> Cc: Uday Lingala <uday.lingala@avagotech.com> Acked-by: NSumit Saxena <sumit.saxena@avagotech.com> Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
-
- 25 5月, 2015 2 次提交
-
-
由 Christoph Hellwig 提交于
Add noop conversions for all ones to make sparse happy. Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Reviewed-by: NHannes Reinecke <hare@suse.de> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
-
由 Christoph Hellwig 提交于
This adds endianness annotations to all data structures, and a few variables directly referencing them. Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Reviewed-by: NHannes Reinecke <hare@suse.de> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NJames Bottomley <JBottomley@Odin.com>
-
- 09 1月, 2015 2 次提交
-
-
This patch will address the issue of SCSI device created at OS level for non existing VD. ldTgtIdtoLd[] array has size 256 for Extended VD firmware and 128 for legacy firmware. Accessing indices beyond array size (OS will send TUR, INQUIRY.. commands upto device index 255), may return valid LD value and that particular SCSI command will be SUCCESS and creating SCSI device for non existing target(VD). For legacy firmware (64 VD firmware), invalidates LD (by setting LD value to 0xff) in LdTgtIdtoLd[] array for device index beyond 127, so that invalid LD(0xff) value should be returned beyond device index beyond 127. Cc: <stable@vger.kernel.org> Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com> Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
This patch addresses below issues: 1) Few endianness bug fixes. 2) Break the iteration after (MAX_LOGICAL_DRIVES_EXT - 1)), instead of MAX_LOGICAL_DRIVES_EXT. 3) Optimization in MFI INIT frame before firing. 4) MFI IO frame should be 256bytes aligned. Code is optimized to reduce the size of frame for fusion adapters and make the MFI frame size calculation a bit transparent and readable. Cc: <stable@vger.kernel.org> Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com> Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Signed-off-by: NChaitra Basappa <chaitra.basappa@avagotech.com> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 24 11月, 2014 2 次提交
-
-
This patch addresses few endianness related bug fixes. Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Cc: <stable@vger.kernel.org> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
Update MAINTAINERS list and copyright information for megaraid_sas driver. Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 17 9月, 2014 2 次提交
-
-
Resending the patch. Addressed the review comments from Tomas Henzl. Current driver does fast path read load balancing between arm and mirror disk for two Drive Raid-1 configuration only. Now, Driver support fast path read load balancing for all (any number of disk) Raid-1 configuration. Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
Resending the patch. Addressed the review comments from Tomas Henzl. reserved1 field(part of union) of Raid map struct was not required so it is removed. Current MegaRAID firmware and hence the driver only supported 64VDs. E.g: If the user wants to create more than 64VD on a controller, it is not possible on current firmware/driver. New feature and requirement to support upto 256VD, firmware/driver/apps need changes. In addition to that there must be a backward compatibility of the new driver with the older firmware and vice versa. RAID map is the interface between Driver and FW to fetch all required fields(attributes) for each Virtual Drives. In the earlier design driver was using the FW copy of RAID map where as in the new design the Driver will keep the RAID map copy of its own; on which it will operate for any raid map access in fast path. Local driver raid map copy will provide ease of access through out the code and provide generic interface for future FW raid map changes. For the backward compatibility driver will notify FW that it supports 256VD to the FW in driver capability field. Based on the controller properly returned by the FW, the Driver will know whether it supports 256VD or not and will copy the RAID map accordingly. At any given time, driver will always have old or new Raid map. So with this changes, driver can also work in host lock less mode. Please see next patch which enable host lock less mode for megaraid_sas driver. Signed-off-by: NSumit Saxena <sumit.saxena@avagotech.com> Signed-off-by: NKashyap Desai <kashyap.desai@avagotech.com> Reviewed-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 16 3月, 2014 2 次提交
-
-
由 adam radford 提交于
The following patch for megaraid_sas loads the correct raid context timeout value for multpathing and clustering. Signed-off-by: NAdam Radford <aradford@gmail.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sumit.Saxena@lsi.com 提交于
Signed-off-by: NSumit Saxena <sumit.saxena@lsi.com> Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 11 9月, 2013 1 次提交
-
-
由 Sumit.Saxena@lsi.com 提交于
This patch will add big endian architecture support to megaraid_sas driver. The support added is for LSI MegaRAID all generation controllers- (3Gb/s, 6Gb/s and 12 Gb/s controllers). We have done basic sanity test @ppc64 arch and @x86_64. Additional testing/observations are welcome. [jejb: fix up rejections] Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Signed-off-by: NSumit Saxena <sumit.saxena@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 07 9月, 2013 1 次提交
-
-
由 adam radford 提交于
Signed-off-by: NAdam Radford <aradford@gmail.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 09 7月, 2013 1 次提交
-
-
由 Dan Carpenter 提交于
On 64 bit then -1UL and -1U are not equal, so these conditions don't work as intended and it breaks error handling. Signed-off-by: NDan Carpenter <dan.carpenter@oracle.com> Acked-by: NSumit Saxena <sumit.saxena@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 25 6月, 2013 3 次提交
-
-
由 Sumit.Saxena@lsi.com 提交于
MegaRAID older Firmware does not support uneven span configuration for PRL11. E.g User wants to create 34 Driver PRL11 config, it was not possible using old firmware, since it was not supported configuration in old firmware Old Firmware expect even number of Drives in each span and same number of physical drives at each span. Considering above design, 17 Drives at Span-0 and 17 drives at span-1 was not possible. Now, using this new feature Firmware and Driver both required changes. New Firmware can allow user to create 16 Drives at span-0 and 18 Drives at span-1. This will allow user to create 34 Drives Uneven span PRL11. RAID map is interface between Driver and FW to fetch all required fields(attributes) for each Virtual Drives. Since legacy RAID map consider Even Span design, there was no place to keep Uneven span information in existing Raid map. Because of this limitation, for Uneven span VD, driver can not use RAID map. This patch address the changes required in Driver to support Uneven span PRL11 support. 1. Driver will find if Firmware has UnevenSpanSupport or not by reading Controller Info. 2. If Firmware has UnvenSpan PRL11 support, then Driver will inform about its capability of handling UnevenSpan PRL11 to the firmware. 3. Driver will update its copy of span info on each time Raid map update is called. 4. Follow different IO path if it is Uneven Span. (For Uneven Span, Driver uses Span Set info to find relavent fields for that particular Virtual Disk) More verbose prints will be available by setting "SPAN_DEBUG" to 1 at compilation time. Signed-off-by: NSumit Saxena <sumit.saxena@lsi.com> Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sumit.Saxena@lsi.com 提交于
Signed-off-by: NSumit Saxena <sumit.saxena@lsi.com> Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sumit.Saxena@lsi.com 提交于
Signed-off-by: NSumit Saxena <sumit.saxena@lsi.com> Signed-off-by: NKashyap Desai <kashyap.desai@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 09 10月, 2012 1 次提交
-
-
由 adam radford 提交于
Signed-off-by: NAdam Radford <aradford@gmail.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 24 4月, 2012 1 次提交
-
-
由 adam radford 提交于
The following patch for megaraid_sas fixes the fastpath code decision logic to use fpRead/WriteCapable, fpRead/WriteAcrossStripe flags instead of the old logic. This fixes a bug where fastpath writes could be sent to a read only LD. Signed-off-by: NAdam Radford <aradford@gmail.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 16 1月, 2012 1 次提交
-
-
由 adam radford 提交于
The following patch for megaraid_sas fixes the reglockFlags field for degraded raid5/6 for MR9360/9380, which will result in a performance improvement. Signed-off-by: NAdam Radford <aradford@gmail.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 17 10月, 2011 1 次提交
-
-
由 adam radford 提交于
Signed-off-by: NAdam Radford <aradford@gmail.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 27 7月, 2011 1 次提交
-
-
由 adam radford 提交于
Signed-off-by: NAdam Radford <aradford@gmail.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-