tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: FIXED: mpt Serious performance issues



On Fri, Feb 04, 2011 at 02:36:04PM +0100, Manuel Bouyer wrote:
> > 
> > What then happens is very stupid. The driver calls
> > mpt_set_initial_config() in mpt.c which resets every 16 target device
> > pages to 0:

If we are not exposing these underlying target device pages as sd, then
you are right, we should not reset any values for them.

> > Now every physical disk, being part of a RAID array or not, runs in a
> > prehistoric mode. When the scsipi layer then scans the bus and detects
> > the virtual target (sd0), the target device page for disk 0 again gets
> > initialized with useful values (this is the fast, lower disk) but the
> > page for disk 1 obviously not (this is the slow, upper disk). A simple

So the controller does not present us any such page for the logical target
device it provides?

The first time I ran into a controller that worked this way (presenting
a virtual "SCSI disk" assembled from physical target disks) this was
exactly the kind of confusion I was afraid of.  Working on that driver (mly)
I eventually decided the firmware authors had thought of this too and had
gone to some lengths to make it always be clear whether one were operating
on the logical "disks" provided by the controller or the physical disks
on the bus (the controller could do pass-through, so one did in fact
sometimes want to mix and match!).

I guess this firmware vendor got it wrong.  So we need a toggle for "RAID
mode" which basically means "never touch the settings".

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?

Thor


Home | Main Index | Thread Index | Old Index