[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20140321203120.GA9397@redhat.com>
Date: Fri, 21 Mar 2014 21:31:20 +0100
From: Oleg Nesterov <oleg@...hat.com>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Joseph Salisbury <joseph.salisbury@...onical.com>,
Tetsuo Handa <penguin-kernel@...ove.sakura.ne.jp>,
James Bottomley <JBottomley@...allels.com>,
Nagalakshmi.Nandigama@....com, Sreekanth.Reddy@....com,
David Rientjes <rientjes@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Tejun Heo <tj@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Ubuntu Kernel Team <kernel-team@...ts.ubuntu.com>,
Linux SCSI List <linux-scsi@...r.kernel.org>,
Tomas Henzl <thenzl@...hat.com>
Subject: Re: please fix FUSION (Was: [v3.13][v3.14][Regression]
kthread:makekthread_create()killable)
On 03/21, Linus Torvalds wrote:
>
> On Fri, Mar 21, 2014 at 11:34 AM, Oleg Nesterov <oleg@...hat.com> wrote:
> >
> > Yes, it seems that it actually needs > 30 secs. It spends most of the time
> > (30.13286 seconds) in [..]
>
> So how about taking a completely different approach:
Due to the lack of knowledge I can not comment (or even actually
understand) your suggestion.
But it probably falls into the "right fix" category, iow "THE FIX
FROM MAINTAINERS" the temporary sigprocmask() hack should wait for.
I can't implement this by the same reason. And of course I won't
insist that we need some really stupid (and wrong) solution until
someone who understand makes the initialization asynchronous.
> - just say that waiting for devices in the module init sequence for
> over 30 seconds is really really wrong.
>
> - make the damn mptsas driver just register the controller from the
> init sequence, and then do device discovery asynchronously.
>
> The ATA layer does this correctly: it synchronously finds each host,
> but then it does
>
> /* perform each probe asynchronously */
> for (i = 0; i < host->n_ports; i++) {
> struct ata_port *ap = host->ports[i];
> async_schedule(async_port_probe, ap);
> }
>
> and I really think SCSI drivers should do the same if they have this
> kind of "ports can take forever to probe" behavior.
>
> What would be the equivalent magic to do this for SCSI? Could we just
> make something like scsi_probe_and_add_lun() just always do this, the
> same way ata_host_register() does it?
>
> Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists