From: David Mosberger <davidm@napali.hpl.hp.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [PATCH] current ( was RE: cat /proc/acpi/events bad for your system's health!)
Date: Wed, 17 Mar 2004 15:57:36 +0000 [thread overview]
Message-ID: <16472.30064.241919.899417@napali.hpl.hp.com> (raw)
In-Reply-To: <3ACA40606221794F80A5670F0AF15F8401CBB762@PDSMSX403.ccr.corp.intel.com>
>>>>> On Wed, 17 Mar 2004 20:48:00 +0800, "Yu, Luming" <luming.yu@intel.com> said:
>> The main difference with 2.4 is signal_pending. From ACPI log, I
>> also noticed that the thread waiting on acpi_bus_event_queue
>> didn't resume proberly, because there is no exit message of
>> acpi_bus_receive_event in ACPI log as expected if you turn on
>> full debug flag of acpi.
Luming> After comparing the disassembly code of
Luming> acpi_bus_receive_event() , I find the following difference
Luming> introduced by my workaround:
Luming> 155c155
Luming> 12d0: 00 00 00 1a b8 11 [MII] st8.rel [r13]=r0
Luming> ---
Luming> 12d0: 00 40 00 1a b8 15 [MII] st8.rel [r13]=r0,8
Luming> Perhaps, gcc did something wrong with
Luming> set_current_state(TASK_RUNNING). Because r13 intend for
Luming> pointer to the current task.
How nasty! Your hunch about bad code-generation was right, after all!
Luming> The following is my patch, which can fix this issue.
Luming> - {
Luming> \
Luming> - register __u64 ia64_r13 asm ("r13");
Luming> \
Luming> - ia64_intri_res = ia64_r13;
Luming> \
Luming> - }
Luming> \
Luming> + asm volatile ("mov %0=r13" : "=r"(ia64_intri_res));
Unfortunately, this leads to worse-quality code. I think we may have
to resort to an #ifdef __INTEL_COMPILER in <asm-ia64/current.h> so
that we can use a global register for GCC as we used to. I'll look
into this today.
Thanks,
--david
next prev parent reply other threads:[~2004-03-17 15:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-17 12:48 [PATCH] current ( was RE: cat /proc/acpi/events bad for your system's health!) Yu, Luming
2004-03-17 15:57 ` David Mosberger [this message]
2004-03-17 19:16 ` David Mosberger
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=16472.30064.241919.899417@napali.hpl.hp.com \
--to=davidm@napali.hpl.hp.com \
--cc=linux-ia64@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox