Hi Martin,

megaraid driver was a single driver for both SAS2 and SAS3 controller
because from day1 it was planned and developed that way.
But it also certain cons

-Sometimes, there may be different settings needs to be done for IO
for different type of controllers. In IO path, adding PNP id based
checks may degrade the performance
-Making any fix for one controller family may affect other controllers
code path as well, so code review and unit testing of fix has to done
for all supported controllers.
e.g. in megaraid_sas driver, to maintain MFI controllers original
design  untouched, we have to deal with many synchronization issues in
MPT controllers design. If there is some workaround for older
controllers in driver, it may be carried forward sometimes, even if
that issue can be fixed for new controllers.
-In case of megaraid_sas, all application and management commands  are
MFI frame based, so for legacy applications to work with MPT
controllers(MPT frames), driver cannot post same MFI frame to firmware
and has to internally allocate MPT frame corresponding to MFI frame,
maintain the mapping of MFI to MPT frame and the send to firmware.
Driver has to play as intermediate between apps and firmware, so
driver has to do conversion.

To overcome these kind of issues,  LSI has gone for separate drivers
for mpt2sas and mpt3sas.
In case of mpt2sas, mpt3sas drivers, the only con is maintenance of
separate drivers. Our SAS2 HBA is almost entering deep maintenance
mode. We will not be posting any more feature support patches for
mpt2sas.  Whereas mpt3sas is at its initial baseline with a healthy
road map ahead.

Regards,
Sreekanth

On Wed, Jul 23, 2014 at 7:09 AM, Martin K. Petersen
<martin.peter...@oracle.com> wrote:
>>>>>> "Sreekanth" == Sreekanth Reddy <sreekanth.re...@avagotech.com> writes:
>
> Hey Sreekanth,
>
> Sreekanth> If we have single driver approach, making any changes in
> Sreekanth> driver require lots of regression and Q/A cycle so that
> Sreekanth> existing customer who are based on older controller does not
> Sreekanth> have any impact due some fixes/new features.
>
> Sreekanth> With all these HBA specific features, it is unmanageable to
> Sreekanth> have a common driver for SAS2 and SAS3 HBAs.
>
> But just as a counterexample to that: qla2xxx and lpfc are both capable
> of driving a wide range of chip generations and firmware interface
> versions with a single driver.
>
> The problem I have with the mpt2sas/mpt3sas split is that there are way
> more commonalities than there are differences. It is trivial to handle
> multiple scatterlist format and features in a single driver. You guys
> already do that in megaraid_sas.
>
> --
> Martin K. Petersen      Oracle Linux Engineering
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to