All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Moore, Eric" <Eric.Moore@lsi.com>
To: James Bottomley <James.Bottomley@HansenPartnership.com>,
	"Desai, Kashyap" <Kashyap.Desai@lsi.com>
Cc: "linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
	"Prakash, Sathya" <Sathya.Prakash@lsi.com>
Subject: RE: [PATCH 1/3] mpt2sas: Wait for port enable to get complete before reporting devices to OS.
Date: Thu, 9 Sep 2010 16:43:56 -0600	[thread overview]
Message-ID: <4565AEA676113A449269C2F3A549520F4918A80E@cosmail03.lsi.com> (raw)
In-Reply-To: <1283704496.15944.1271.camel@mulgrave.site>

On Sunday, September 05, 2010 10:35 AM, James Bottomley wrote:
> On Wed, 2010-08-04 at 14:04 +0530, Kashyap, Desai wrote:
> > Add support in driver so it will wait for discovery to complete
> > before returning from the send_port_enable routine.  There are some
> > cases where firmware is doing discovery after port enable completes.
> > When it does this, the driver will not have all the devices in the
> > sas_device_init_list list prior to calling the sort routine for
> reporting
> > boot devices to OS.
> >
> > This patch is required so the driver is waiting for all the events to
> > be processed in the hot plug worker thread prior to reporting them to
> the
> > OS.
> >
> > (1) The driver will wait for port enable to complete
> > (2) Wait for the first discovery stop event
> > (3) Wait an additional 500ms in case there are additional discoveries
> > (4) process device list -> reporting devcies to OS
> 
> Why is there any need to wait and sort at all?  If you just report the
> devices as hotplug sees them, boot will be much faster (especially for
> root devices).
> 

IMO, this patch is really needed. Without it you probably will not be able to boot after a fresh installation of OS when there are multiple drives.  The issue is Red Hat or SuSE is going to place the new OS on the first reported drive, e.g. /dev/sda.  This boot drive information is passed from the BIOS to the driver via a configuration page called bios page 2.  The driver needs to wait for all firmware to complete discovery, then search for boot device as indicated in the config page, then report it first.  Without the patch, there is no guarantee which drive or raid volume is getting reported first.  In other words the device driver could of reported bios drive located at 0x83 as /dev/sda, instead of 0x80, then when you reboot, the BIOS is not finding boot partition. The end user can select the boot device by going into the BIOS configuration utility; e.g. control C.

Eric





  reply	other threads:[~2010-09-09 23:08 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-04  8:34 [PATCH 1/3] mpt2sas: Wait for port enable to get complete before reporting devices to OS Kashyap, Desai
2010-09-05 16:34 ` James Bottomley
2010-09-09 22:43   ` Moore, Eric [this message]
2010-09-11 14:03     ` James Bottomley
2010-09-14  0:45       ` Moore, Eric
2010-10-12 14:59         ` Desai, Kashyap

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4565AEA676113A449269C2F3A549520F4918A80E@cosmail03.lsi.com \
    --to=eric.moore@lsi.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=Kashyap.Desai@lsi.com \
    --cc=Sathya.Prakash@lsi.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.