On Wed, Apr 18, 2012 at 8:23 AM, Tom Rini <trini@xxxxxx> wrote:
> Performance isn't in-line with what I would expect (in playing with fio), so
> if you want to whip something up, or point me some changesets / other
> drivers I can take a stab here. Thanks!
>
The thrust is to change this loop in mvs_pci_init:
do {
mvi = mvs_pci_alloc(pdev, ent, shost, nhost);
if (!mvi) {
rc = -ENOMEM;
goto err_out_regions;
}
memset(&mvi->hba_info_param, 0xFF,
sizeof(struct hba_info_page));
mvs_init_sas_add(mvi);
mvi->instance = nhost;
rc = MVS_CHIP_DISP->chip_init(mvi);
if (rc) {
mvs_free(mvi);
goto err_out_regions;
}
nhost++;
} while (nhost < chip->n_host);
...to assume that mvs_pci_alloc will do the allocation of a scsi_host
per chip, rather than passing in a global host.
Then would need to clean up warts like the following in mvs_phy_control:
while (sha->sas_phy[i]) {
if (sha->sas_phy[i] == sas_phy)
break;
i++;
}
...since this model means that the sas_phy->id can be used directly to
look up the local mvsas phy.
I might circle back to this once 3.4 finalizes (since the random ids
libsas uses for identifying local ports is onerous), but if someone
else beats me to it I wouldn't mind ;-).
--
Dan
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[SCSI Target Devel]
[Linux SCSI Target Infrastructure]
[Kernel Newbies]
[Share Photos]
[IDE]
[Security]
[Git]
[Netfilter]
[Bugtraq]
[Photos]
[Yosemite]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Linux ATA RAID]
[Linux IIO]
[Samba]
[Video 4 Linux]
[Device Mapper]
[Linux Resources]