From: Cornelia Huck <cornelia.huck@de.ibm.com>
To: Vegard Nossum <vegard.nossum@gmail.com>
Cc: Ingo Molnar <mingo@elte.hu>, Jens Axboe <jens.axboe@oracle.com>,
Arjan van de Ven <arjan@infradead.org>,
Justin Madru <jdm64@gawab.com>,
lkml <linux-kernel@vger.kernel.org>,
"Rafael J. Wysocki" <rjw@sisk.pl>
Subject: Re: 2.6.30-rc1: invalid opcode with call trace
Date: Thu, 9 Apr 2009 16:45:11 +0200 [thread overview]
Message-ID: <20090409164511.16602da7@gondolin> (raw)
In-Reply-To: <19f34abd0904080915t1a47cab4jbfe748eeaa47d675@mail.gmail.com>
On Wed, 8 Apr 2009 18:15:21 +0200,
Vegard Nossum <vegard.nossum@gmail.com> wrote:
> The problem is that you have two async port probes:
>
> [ 24.177306] calling 1_async_port_probe+0x0/0xaa @ 2841
> [ 24.177825] calling 2_async_port_probe+0x0/0xaa @ 2842
>
> of which only the first completes, because the first async call itself
> tries to flush the async list while holding a lock (the
> &shost->scan_mutex in __scsi_add_device), causing deadlock.
>
> In short, I don't think we should call async_synchronize_full() from
> scsi_complete_async_scans() at all. I'm including a more detailed
> description/justification in the patch (attached).
Not that I understand much about the scsi code, but there seem to be
two 'async' processes going on:
- async scanning of the Scsi_Host (which scsi_complete_async_scans()
waits for)
- async execution of a part of scsi_probe (which the
async_synchronize_full() waits for)
Considering the async scanning complete only when all probes have
finished seems sensible, so the fix doesn't look correct to me.
Would it perhaps make sense to introduce a per-Scsi_Host running list
so that do_scsi_scan_host() could use async_synchronize_domain() to
wait for all async probes for the host to finish? Or am I
misunderstanding the aim of the scsi code?
prev parent reply other threads:[~2009-04-09 14:45 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-08 5:30 2.6.30-rc1: invalid opcode with call trace Justin Madru
2009-04-08 6:32 ` Jens Axboe
2009-04-08 6:47 ` Ingo Molnar
2009-04-08 6:52 ` Ingo Molnar
2009-04-08 6:53 ` Jens Axboe
2009-04-08 7:11 ` Ingo Molnar
2009-04-08 7:15 ` Jens Axboe
2009-04-08 7:11 ` Justin Madru
2009-04-08 8:12 ` Ingo Molnar
2009-04-10 8:15 ` Heinz Diehl
2009-04-08 7:27 ` Vegard Nossum
2009-04-08 7:40 ` Jens Axboe
2009-04-08 7:48 ` Ingo Molnar
2009-04-08 7:56 ` Jens Axboe
2009-04-08 16:15 ` Vegard Nossum
2009-04-09 14:45 ` Cornelia Huck [this message]
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=20090409164511.16602da7@gondolin \
--to=cornelia.huck@de.ibm.com \
--cc=arjan@infradead.org \
--cc=jdm64@gawab.com \
--cc=jens.axboe@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=rjw@sisk.pl \
--cc=vegard.nossum@gmail.com \
/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.