From: Keith Owens <kaos@sgi.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [Linux-ia64] ia64_mca_rendez_int_handler use of hard_smp_processor_id
Date: Tue, 25 Mar 2003 21:15:30 +0000 [thread overview]
Message-ID: <marc-linux-ia64-105590723705311@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105590723705289@msgid-missing>
On Tue, 25 Mar 2003 08:45:56 -0800,
"Luck, Tony" <tony.luck@intel.com> wrote:
>>>>>> On Sat, 22 Mar 2003 15:12:55 +1100, Keith Owens <kaos@sgi.com> >said:
>
> Keith> arch/ia64/kernel/mca.c:ia64_mca_rendez_int_handler has
> Keith> #ifdef CONFIG_SMP
> Keith> cpu = cpu_logical_id(hard_smp_processor_id());
> Keith> #endif
> Keith> ia64_mc_info.imi_rendez_checkin[cpu] = >IA64_MCA_RENDEZ_CHECKIN_DONE;
>
> Keith> All the other code that runs imi_rendez_checkin does so using >logical
> Keith> cpu numbers. Why does ia64_mca_rendez_int_handler use that >convoluted
> Keith> expression instead of the simpler
> Keith> cpu = smp_processor_id();
>
> David> I don't know either. Perhaps the original author remembers >(Jenna or
> David> Tony, perhaps?).
>
>This code predates me. I checked with Jenna and she says that it's >before
>her time too.
>
><speculation>
>That convoluted expression avoids use of the per-cpu mapping, but I >can't see
>why we'd be scared to use that here, and not be paranoid elsewhere. How >was
>smp_processor_id() implemented far back in days of 2.4.0 and before?
></speculation>
At one time there was confusion between which arrays used the logical
cpu number in smp_processor_id() and which arrays used the hardware cpu
number. This is probably a holdover from that period.
Index: 20.5/arch/ia64/kernel/mca.c
--- 20.5/arch/ia64/kernel/mca.c Wed, 11 Dec 2002 20:58:53 +1100 kaos (linux-2.4/s/c/5_mca.c 1.1.3.2.3.1.1.1.1.3 644)
+++ 20.5(w)/arch/ia64/kernel/mca.c Wed, 26 Mar 2003 08:14:29 +1100 kaos (linux-2.4/s/c/5_mca.c 1.1.3.2.3.1.1.1.1.3 644)
@@ -640,13 +640,10 @@ ia64_mca_wakeup_all(void)
void
ia64_mca_rendez_int_handler(int rendez_irq, void *arg, struct pt_regs *ptregs)
{
- int flags, cpu = 0;
+ int flags, cpu = smp_processor_id();
/* Mask all interrupts */
save_and_cli(flags);
-#ifdef CONFIG_SMP
- cpu = cpu_logical_id(hard_smp_processor_id());
-#endif
ia64_mc_info.imi_rendez_checkin[cpu] = IA64_MCA_RENDEZ_CHECKIN_DONE;
/* Register with the SAL monarch that the slave has
* reached SAL
next prev parent reply other threads:[~2003-03-25 21:15 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-22 4:12 [Linux-ia64] ia64_mca_rendez_int_handler use of hard_smp_processor_id Keith Owens
2003-03-24 21:54 ` David Mosberger
2003-03-25 16:45 ` Luck, Tony
2003-03-25 21:15 ` Keith Owens [this message]
2003-03-26 1:55 ` Peter Chubb
2003-04-16 16:36 ` Bjorn Helgaas
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=marc-linux-ia64-105590723705311@msgid-missing \
--to=kaos@sgi.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 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.