#
ced92d00 |
|
20-Jan-2024 |
Gordon Bergling <gbe@FreeBSD.org> |
ciss(4): Fix a typo in a source code comment - s/strucutre/structure/ MFC after: 3 days
|
#
4654e8a3 |
|
27-Dec-2023 |
Jose Luis Duran <jlduran@gmail.com> |
ciss: Fix typo (triple T) Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/954
|
#
95ee2897 |
|
16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: two-line .h pattern Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
|
#
4d846d26 |
|
10-May-2023 |
Warner Losh <imp@FreeBSD.org> |
spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSD The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
|
#
405b8d43 |
|
01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
ciss: clean up empty lines in .c and .h files
|
#
718cf2cc |
|
27-Nov-2017 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/dev: further adoption of SPDX licensing ID tags. Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts.
|
#
0fb31ed0 |
|
29-Jun-2014 |
Sean Bruno <sbruno@FreeBSD.org> |
Add detection for ciss(4) controllers that are set to non-raid JBOD mode. If a controller is set to JBOD, it has no RAID functions turned on. Populate even more of the firmware specification headers, copied from cciss_vol_status. Reviewed by: Benesh, Scott <scott.benesh@hp.com> MFC after: 2 weeks
|
#
e3edca22 |
|
15-Jan-2013 |
Sean Bruno <sbruno@FreeBSD.org> |
Satisfy the intent of kern/151564: [ciss] ciss(4) should increase CISS_MAX_LOGICAL to 107 Submitter wanted to increase the number of logical disks supported by ciss(4) by simply raising the CISS_MAX_LOGICAL value even higher. Instead, consult the documentation for the raid controller (OPENCISS) and poke the controller bits to ask it for how many logical/physical disks it can handle. Revert svn R242089 that raised CISS_MAX_LOGICAL to 64 for all controllers. For older controllers that don't support this mechanism, fallback to the old value of 16 logical disks. Tested on P420, P410, P400 and 6i model ciss(4) controllers. This should will be MFC'd back to stable/9 stable/8 and stable/7 after the MFC period. PR: kern/151564 Reviewed by: scottl@freebsd.org MFC after: 2 weeks
|
#
a7d5f7eb |
|
19-Oct-2010 |
Jamie Gritton <jamie@FreeBSD.org> |
A new jail(8) with a configuration file, to replace the work currently done by /etc/rc.d/jail.
|
#
24048b0c |
|
16-Sep-2009 |
Scott Long <scottl@FreeBSD.org> |
Merge rev 197263: - Enable MSI support (MSIX support was already present) - Performance improvements Approved by: re Obtained from: Yahoo!
|
#
053351ce |
|
16-Sep-2009 |
Scott Long <scottl@FreeBSD.org> |
Merge r197260, r197261, r197262 - Prevent a panic on modern controllers by increasing CISS_MAX_PHYSTGT to 256 - Fix MSI and PERFORMANT interrupt programming. Fixes hang on boot. - Fix locking bugs in ioctl handler Most of this has been soaking at Yahoo for several months, if not longer. The quick MFC is due to the impending 8.0-RC1 build. Approved by: re Obtained from: Yahoo!
|
#
2fdaa90d |
|
16-Sep-2009 |
Scott Long <scottl@FreeBSD.org> |
Sync driver with Yahoo: - Implement MSI support (MSIX support was already there) - Use a table to drive MSI/MSIX exceptions - Pre-calculate the command address instead of wasting cycles doing the calculation on every i/o.
|
#
b23be3e0 |
|
16-Sep-2009 |
Scott Long <scottl@FreeBSD.org> |
Make MSI and PERFORMANT interrupts work correctly. Only require the minimum number of MSIX interrupts that are needed, and don't strictly check for 4. Enable enough interrupt mask bits so that the controller will generate interrupts in PERFORMANT mode. This fixes the hang-on-boot issues that people were seeing with newer controllers.
|
#
d7f03759 |
|
19-Oct-2008 |
Ulf Lilleengen <lulf@FreeBSD.org> |
- Import the HEAD csup code which is the basis for the cvsmode work.
|
#
d69c9c78 |
|
28-Aug-2008 |
Scott Long <scottl@FreeBSD.org> |
Work again to fix the interrupt masking problems. We now recognize that there are 3 different interrupt enable bits, 2 for different families of cards, and 1 for when MSI is used. Also apply a big hammer backstop for cards that aren't recognized. This should fix all of the interrupt issues at boot.
|
#
8792c6ab |
|
02-Aug-2008 |
Scott Long <scottl@FreeBSD.org> |
Correctly set the interrupt enable and disable bits. The previous code interfered with Performant mode and legacy interrupts. Also remove a register read operation on the Simplq code that was effectively a time-wasting no-op.
|
#
22657ce1 |
|
11-Jul-2008 |
Scott Long <scottl@FreeBSD.org> |
A number of significant enhancements to the ciss driver: 1. The FreeBSD driver was setting an interrupt coalesce delay of 1000us for reasons that I can only speculate on. This was hurting everything from lame sequential I/O "benchmarks" to legitimate filesystem metadata operations that relied on serialized barrier writes. One of my filesystem tests went from 35s to complete down to 6s. 2. Implemented the Performant transport method. Without the fix in (1), I saw almost no difference. With it, my filesystem tests showed another 5-10% improvement in speed. It was hard to measure CPU utilization in any meaningful way, so it's not clear if there was a benefit there, though there should have been since the interrupt handler was reduced from 2 or more PCI reads down to 1. 3. Implemented MSI-X. Without any docs on this, I was just taking a guess, and it appears to only work with the Performant method. This could be a programming or understanding mistake on my part. While this by itself made almost no difference to performance since the Performant method already eliminated most of the synchronous reads over the PCI bus, it did allow the CISS hardware to stop sharing its interrupt with the USB hardware, which in turn allowed the driver to become decoupled from the Giant-locked USB driver stack. This increased performance by almost 20%. The MSI-X setup was done with 4 vectors allocated, but only 1 vector used since the performant method was told to only use 1 of 4 queues. Fiddling with this might make it work with the simpleq method, not sure. I did not implement MSI since I have no MSI-specific hardware in my test lab. 4. Improved the locking in the driver, trimmed some data structures. This didn't improve test times in any measurable way, but it does look like it gave a minor improvement to CPU usage when many processes/threads were doing I/O in parallel. Again, this was hard to accurately test.
|
#
7a0c10de |
|
09-Aug-2005 |
Paul Saab <ps@FreeBSD.org> |
There's no reason to check the valence. This allows ciss to work on the P600.
|
#
17c0792d |
|
19-Apr-2005 |
Paul Saab <ps@FreeBSD.org> |
Provide a way to soft reset a proxy controller such as an MSA20 or MSA500. This is useful if you need to reset one of the storage arrays on reboot.
|
#
4788ab33 |
|
29-Jul-2004 |
Paul Saab <ps@FreeBSD.org> |
Clean up structure packing.
|
#
1fe6c4ee |
|
21-Jun-2004 |
Scott Long <scottl@FreeBSD.org> |
Add SCSI passthrough support to CISS. This allows devices like tape drives that are on a CISS bus to be exported up to CAM and made available as normal devices. This will typically add one or two buses to CAM, which will be numbered starting at 32 to allow room for CISS proxy buses. Also, the CISS firmware usually hides disk devices, but these can also be exposed as 'pass' devices if you set the hw.ciss.expose_hidden_physical tunable. Sponsored by: Tape Laboratories, Inc. MFC After: 3 days
|
#
a54e98d3 |
|
05-Jun-2004 |
Paul Saab <ps@FreeBSD.org> |
Document the 64bit version of blocks_to_recover for logical drive status. Pad the struct to 1024 bytes as defined in the firmware spec.
|
#
bbfb4528 |
|
04-Jun-2004 |
Paul Saab <ps@FreeBSD.org> |
Update logical drive structure
|
#
10672bdf |
|
27-May-2004 |
Paul Saab <ps@FreeBSD.org> |
Define another HOTPLUG event.
|
#
a891a3bf |
|
17-May-2004 |
Paul Saab <ps@FreeBSD.org> |
Turn SCSI pre-fetch ON. This is mainly for 64XX and 64X based controllers and allows the controller to prefetch 1-2k on certain PCI memory reads to the host. The spec says this should only be used for IA32 based systems. Informed of feature by: John Cagle <first.last@hp.com>
|
#
256588d2 |
|
22-Apr-2004 |
Paul Saab <ps@FreeBSD.org> |
define some new fields in the physical drive structure and pad the structure to 512 bytes.
|
#
c6131460 |
|
16-Apr-2004 |
Paul Saab <ps@FreeBSD.org> |
Add support for the HP Modular Smart Array 20 & 500 storage arrays. Logical volumes on these devices show up as LUNs behind another controller (also known as proxy controller). In order to issue firmware commands for a volume on a proxy controller, they must be targeted at the address of the proxy controller it is attached to, not the Host/PCI controller. A proxy controller is defined as a device listed in the INQUIRY PHYSICAL LUNS command who's L2 and L3 SCSI addresses are zero. The corresponding address returned defines which "bus" the controller lives on and we use this to create a virtual CAM bus. A logical volume's addresses first byte defines the logical drive number. The second byte defines the bus that it is attached to which corresponds to the BUS of the proxy controller's found or the Host/PCI controller. Change event notification to be handled in its own kernel thread. This is needed since some events may require the driver to sleep on some operations and this cannot be done during interrupt context. With this change, it is now possible to create and destroy logical volumes from FreeBSD, but it requires a native application to construct the proper firmware commands which is not publicly available. Special thanks to John Cagle @ HP for providing remote access to all the hardware and beating on the storage engineers at HP to answer my questions.
|
#
a32168b7 |
|
16-Apr-2004 |
Paul Saab <ps@FreeBSD.org> |
Whitespace cleanup.
|
#
307e0460 |
|
08-Dec-2003 |
Paul Saab <ps@FreeBSD.org> |
Correct the READ/WRITE CDB direction definition. Submitted by: John Cagle <john.cagle@hp.com>
|
#
aaf8327b |
|
08-Dec-2003 |
Paul Saab <ps@FreeBSD.org> |
Define RAID 5+1 and RAID ADG fault tolerances
|
#
440baa08 |
|
05-Feb-2003 |
Paul Saab <ps@FreeBSD.org> |
Properly get the drive geometry from the controller. This should fix booting off of volumes > 255GB.
|
#
4f492bfa |
|
23-Sep-2002 |
Alfred Perlstein <alfred@FreeBSD.org> |
use __packed.
|
#
3a31b7eb |
|
27-Nov-2001 |
Mike Smith <msmith@FreeBSD.org> |
Add the 'ciss' driver, which supports the Compaq SmartRAID 5* family of RAID controllers (5300, 532, 5i, etc.) Thanks to Compaq and Yahoo! for support during the development of this driver. MFC after: 1 week
|