SILI-3132 driver progress report.

2009-06-22 Thread Matthew Dillon
The SILI driver passed its basic port multiplier tests with no
corruption.  I did a copy chain on a 3.2TB stripe across 4 disks
over a period of a day and a sweep of the HAMMER filesystem showed
no corruption afterwords.

I am continuing to do more extensive tests.  I haven't tested with
significant popping and insertion of drives yet (idle drives in the
same PM containing the drives under test).  That is planned.

I'm comfortable with both the SILI and the AHCI driver now.

-Matt


Re: SILI-3132 driver progress report.

2009-06-20 Thread Michel Talon
Matthew Dillon wrote:

> What?  I thought Matt was only going to do an AHCI driver?
> 
> Well, after diving the Silicon Image data book and looking at the
> OpenBSD and Linux driver code for it I figured I could do a full
> driver using the AHCI driver as a base, and I figured I could do it in
> three days.
> 
>
Wow! you are faster than God himself! I have the idea that some people whom
i will not mention will turn green reading that ...


-- 
Michel Talon


SILI-3132 driver progress report.

2009-06-17 Thread Matthew Dillon
What?  I thought Matt was only going to do an AHCI driver?

Well, after diving the Silicon Image data book and looking at the
OpenBSD and Linux driver code for it I figured I could do a full
driver using the AHCI driver as a base, and I figured I could do it in
three days.

This is the third day and its almost done.  There are some PM-related
issues and probing issues left but it basically works.  It is not yet
hooked into the kernel build but it is available as a module in
/usr/src/sys/dev/disk/sili.

This driver only supports the Sil 3132 at the moment.  It is a PCI-e
2-port E-Sata card.  Other chips will be added once this one is solid.

The Sil chip hardware is a little buggy but from reading the linux
driver it looks like the bugs can be worked around fairly well.  A
lot of the remaining work I have to do is to deal with the chip bugs.

As with the AHCI driver my SILI driver supports NCQ, Hot-Plug, Port
Multipliers, and Hot-Plug on targets behind Port Multipliers.  It also
supports FIS-based switching and FIS-based switching to targets behind
port multipliers, so it can access multiple drives behind a PM
quite efficiently.  In my tests the aggegate transfer rate limit seems
to be about 150 MBytes/sec which is suspiciously close to the limit
for SATA-150, even though its supposed to be connecting at SATA-300
speeds.  I'll continue to research that.

The chip seems to top out at around 30,000 transaction a second.  Not
bad at all.

In contrast, the AHCI driver cannot currently do FIS-Based switching
or NCQ to targets behind a PM, but it can do NCQ to directly-connected
targets.  So the Sili chip is primarily of interest to people who
want to use Port Multipliers.

-Matt
Matthew Dillon