From: Andrew Morton <akpm@osdl.org>
To: Ard -kwaak- van Breemen <ard@telegraafnet.nl>
Cc: "Zhang, Yanmin" <yanmin.zhang@intel.com>,
Chuck Ebbert <76306.1226@compuserve.com>,
Yinghai Lu <yinghai.lu@amd.com>,
take@libero.it, agalanin@mera.ru, linux-kernel@vger.kernel.org,
bugme-daemon@bugzilla.kernel.org,
"Eric W. Biederman" <ebiederm@xmission.com>
Subject: Re: [Bug 7505] Linux-2.6.18 fails to boot on AMD64 machine
Date: Fri, 22 Dec 2006 00:30:29 -0800 [thread overview]
Message-ID: <20061222003029.4394bd9a.akpm@osdl.org> (raw)
In-Reply-To: <20061222082248.GY31882@telegraafnet.nl>
On Fri, 22 Dec 2006 09:22:48 +0100
Ard -kwaak- van Breemen <ard@telegraafnet.nl> wrote:
> Hello,
> On Fri, Dec 22, 2006 at 12:41:46PM +0800, Zhang, Yanmin wrote:
> > I think parse_args enables irq when it calls callbacks.
> > Could you try below?
> > 1) Test Andrew's patch of sema down_write;
> > 2) Apply below patch and see what the output is when booting. If the output has
> > "[BUG]..address.", Pls. map the address to function name by System.map.
> Without proof^H^H^H^H^Hpasting my dmesg and the "diff", I already
> concluded that ide_setup was the culprit. (I've debuged
> parse_one, and it barfed around the 3rd parameter which is
> hdb=noprobe).
> Anyway, a bad night of sleep reminds me that our EM64T boxes also
> have this line (which actually is a remainder of our VA1220 boxes
> ;-) ), and they don't barf, so it must be either the combination
> of the sata_nv together with the pata driver part, *or* just the
> pata driver part. (Our opteron != nforce chipsets also works).
>
I expect that you'll find that the ide code ends up doing
down_write(pci_bus_sem), which will enable interrupts.
(We don't know which interrupt is pending this early - that'd be
interesting to find out, but we shouldn't be enabling interrupts in there).
To whom do I have to pay how much to get this darn patch tested?
--- a/lib/rwsem-spinlock.c~down_write-preserve-local-irqs
+++ a/lib/rwsem-spinlock.c
@@ -195,13 +195,14 @@ void fastcall __sched __down_write_neste
{
struct rwsem_waiter waiter;
struct task_struct *tsk;
+ unsigned long flags;
- spin_lock_irq(&sem->wait_lock);
+ spin_lock_irqsave(&sem->wait_lock, flags);
if (sem->activity == 0 && list_empty(&sem->wait_list)) {
/* granted */
sem->activity = -1;
- spin_unlock_irq(&sem->wait_lock);
+ spin_unlock_irqrestore(&sem->wait_lock, flags);
goto out;
}
@@ -216,7 +217,7 @@ void fastcall __sched __down_write_neste
list_add_tail(&waiter.list, &sem->wait_list);
/* we don't need to touch the semaphore struct anymore */
- spin_unlock_irq(&sem->wait_lock);
+ spin_unlock_irqrestore(&sem->wait_lock, flags);
/* wait to be given the lock */
for (;;) {
_
next prev parent reply other threads:[~2006-12-22 8:53 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-22 4:41 Zhang, Yanmin
2006-12-22 8:22 ` Ard -kwaak- van Breemen
2006-12-22 8:30 ` Andrew Morton [this message]
2006-12-22 9:32 ` Stefano Takekawa
2006-12-22 9:43 ` Andrew Morton
2006-12-22 13:23 ` Stefano Takekawa
2006-12-22 10:30 ` Ard -kwaak- van Breemen
2006-12-22 14:00 ` Ard -kwaak- van Breemen
2006-12-22 14:16 ` Ard -kwaak- van Breemen
2006-12-22 19:10 ` Andrew Morton
2006-12-22 14:35 ` Ard -kwaak- van Breemen
2006-12-29 15:08 ` Ard -kwaak- van Breemen
2006-12-22 14:41 ` Ard -kwaak- van Breemen
2006-12-22 15:42 ` Ard -kwaak- van Breemen
2006-12-28 23:51 ` Andrew Morton
2006-12-29 10:18 ` Stefano Takekawa
2006-12-29 12:51 ` Ard -kwaak- van Breemen
2006-12-29 13:27 ` Ard -kwaak- van Breemen
2006-12-29 14:10 ` Ard -kwaak- van Breemen
2006-12-29 15:01 ` Ard -kwaak- van Breemen
2006-12-29 15:05 ` Ard -kwaak- van Breemen
2006-12-29 15:24 ` Ard -kwaak- van Breemen
2006-12-29 15:42 ` Ard -kwaak- van Breemen
2006-12-30 19:46 ` [PATCH 2.6.20-rc2-git1] start_kernel: Test if irq's got enabled early, barf, and disable them again Ard -kwaak- van Breemen
2008-03-03 22:46 ` Tony Luck
2008-03-04 0:34 ` Stephen Rothwell
2006-12-30 19:58 ` [PATCH 2.6.20-rc2-git1] kernelparams: detect if and which parameter parsing enabled irq's Ard -kwaak- van Breemen
2006-12-30 20:15 ` [PATCH 2.6.20-rc2-git1] PCI: prevent down_read when pci_devices is empty Ard -kwaak- van Breemen
-- strict thread matches above, loose matches on Subject: below --
2006-12-21 8:04 [Bug 7505] Linux-2.6.18 fails to boot on AMD64 machine Zhang, Yanmin
2006-12-21 19:52 ` Ard -kwaak- van Breemen
2006-12-21 20:11 ` Andrew Morton
2006-12-21 21:05 ` Ard -kwaak- van Breemen
2006-12-22 18:42 ` Ard -kwaak- van Breemen
2006-12-22 19:39 ` Stefano Takekawa
2006-12-20 9:59 Chuck Ebbert
2006-12-20 10:12 ` Yinghai Lu
2006-12-20 10:37 ` Andrew Morton
2006-12-20 10:55 ` Arjan van de Ven
2006-12-20 6:42 Chuck Ebbert
2006-12-20 9:11 ` Yinghai Lu
[not found] <200612181543.kBIFhcIc001555@fire-2.osdl.org>
2006-12-18 16:48 ` Eric W. Biederman
2006-12-20 1:29 ` Andrew Morton
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=20061222003029.4394bd9a.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=76306.1226@compuserve.com \
--cc=agalanin@mera.ru \
--cc=ard@telegraafnet.nl \
--cc=bugme-daemon@bugzilla.kernel.org \
--cc=ebiederm@xmission.com \
--cc=linux-kernel@vger.kernel.org \
--cc=take@libero.it \
--cc=yanmin.zhang@intel.com \
--cc=yinghai.lu@amd.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®