From: Tejun Heo <htejun@gmail.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: "Berck E. Nash" <flyboy@gmail.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Jeff Garzik <jeff@garzik.org>,
linux-ide@vger.kernel.org
Subject: Re: 2.6.21-rc7-mm1 BUG at kernel/sched-clock.c:175 init_sched_clock()
Date: Wed, 25 Apr 2007 18:15:03 +0900 [thread overview]
Message-ID: <462F1C17.6080305@gmail.com> (raw)
In-Reply-To: <20070425015559.e6ed537c.akpm@linux-foundation.org>
Andrew Morton wrote:
>> No, that would break host probing. The port is in frozen (controller
>> initialized and IRQs masked off) state, so it's not allowed to take
>> interrupt.
>
> Sounds dodgy. What happens if the IRQ line is shared with some other
> device? We'll enter ahci_interrupt(). We've alread set up ->port_map and
> ->n_ports so we're wholly dependent upon that read from HOST_IRQ_STAT
> returning zeroes.
Shared IRQ is okay because ahci has pending IRQ register which is masked
by ->freeze(). Controllers which don't have such feature check qc
status to determine whether it's expecting IRQ, so it's okay for them
too. So, AFAIK, libata is okay with shared IRQs.
> /* sigh. 0xffffffff is a valid return from h/w */
>
> if that happens we're dead, aren't we?
Yes, we are. :-)
>> If interrupt triggers at this point, it's low level driver
>> bug. Berck, how reliably can you reproduce this problem? Can you post
>> the result of 'lspci -nn'?
>
> Berck doesn't apepar to be sharing that IRQ, so it'll be something else.
I'm pretty sure Berck's problem is caused by ->freeze() not clearing
pending IRQ bit. We haven't been too strict about ->freeze().
Considering the above 0xffffffff case, I agree it's better to fix it in
the core instead of fixing each LLD. Will brew up another patch.
Thanks.
--
tejun
prev parent reply other threads:[~2007-04-25 9:15 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-24 18:28 2.6.21-rc7-mm1 BUG at kernel/sched-clock.c:175 init_sched_clock() Berck E. Nash
2007-04-25 8:16 ` Andrew Morton
2007-04-25 8:42 ` Tejun Heo
2007-04-25 8:54 ` Tejun Heo
2007-04-25 9:30 ` Tejun Heo
2007-04-25 12:28 ` Berck E. Nash
2007-04-25 23:51 ` Berck E. Nash
2007-04-30 1:28 ` Tejun Heo
2007-04-30 12:07 ` Berck E. Nash
2007-05-01 9:02 ` Tejun Heo
2007-04-25 10:21 ` Alan Cox
2007-04-25 10:25 ` Alan Cox
2007-04-25 10:25 ` Tejun Heo
2007-04-25 10:35 ` Alan Cox
2007-04-25 8:55 ` Andrew Morton
2007-04-25 9:15 ` Tejun Heo [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=462F1C17.6080305@gmail.com \
--to=htejun@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=flyboy@gmail.com \
--cc=jeff@garzik.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@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.