tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: FIXED: mpt Serious performance issues
On Tue, Feb 08, 2011 at 03:06:41PM +0100, Stephan wrote:
> Hi all!
>
> >At the very last this change should apply only when the controller is in
> >RAID mode.
>
> But what´s the sense in simply scrubbing all mode pages on driver
> initialisation?
Reset it to a known state.
>
> >In this case, the driver should also probably ignore the
> >modes set from the upper layer.
>
> Does this have an impact to the scsipi layer, e.g. would the SCBs then
> be different?
No, but it's just wrong to apply the modes computed for the
virtual disk, to a physical disk.
>
> >So the controller does not present us any such page for the logical target
> >device it provides?
>
> Not to my knowledge...
>
> >If the firmware vendor did *not* get it wrong, then there is a separate
> >page which holds these settings for the "logical" disk, and when we are
> >operating in RAID mode we need to use that one instead of ever accessing
> >the 16 pages for the physical disks. Do you have enough documentation
> >to say if it actually works this way?
>
> Mhhh... you could also have one RAID set containing 2 disks, and 2
> other disks not being part of any RAID set. So the driver needs to
> decide weather a target is part of an array or not. Unfortunately I do
> not have any kind of documentation. There are other drivers (e.g.
> Linux and FreeBSD) which serve as a reference. I´m currently making
> the driver capable of reading RAID-settings with "mpt_mpilib.h" being
> the only documentation I have ;) As a start, removing the said code
> isn´t the best solution but stops the driver making things worse...
for your configuration. I could immagine that not resetting the
mode pages could make it non-functionnal in some other
configs.
>
>
> I tested this on 2 different servers (FSC and IBM) sucessfully. While
both x86 I guess, and both with the BIOS enabled.
> SCSI controllers are fine with that, SAS controllers still do not work
> optimal (120MB reading, only 1 disk is being accessed; 25MB write
> speed). There are 2 issues I see:
>
> 1)Write caching is not enabled by default in contrast to SCSI controllers.
> 2)Mode changing is ignored; tagged queueing won´t be enabled:
>
> if (!mpt->is_scsi) {
> /*
> * SCSI transport settings don't make any sense for
> * Fibre Channel; silently ignore the request.
> */
> return;
> }
>
> => 1)
>
> I have no idea how to enable write caching. Just changing the RAID
> page and sending it back to the controller doesn´t work:
>
> mpt0: DEBUG: Write Cache: 0
> mpt0: DEBUG: Applying write caching hack...
> mpt0: DEBUG: Sending setting to adapter...
> mpt0: page type 0x8 not changeable
> mpt0: DEBUG: ERROR sending setting to adapter...
>
> The Linux driver enables write caching by default.
>
>
> => 2)
>
> I made some modifications to mpt_set_xfer_mode() so that
>
> -for FC, settings are completely ignored.
> -for SAS, TQ and disconnecting are configured but no parallel port settings.
> -for SCSI the behaving is still the same
for FC, tagged queuing should also work AFAIK.
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index