From: Alex Chiang <achiang@hp.com>
To: linux-ia64@vger.kernel.org
Subject: Re: Tiger oops in ia64_sal_physical_id_info (was [RFC]
Date: Wed, 27 Feb 2008 00:10:57 +0000 [thread overview]
Message-ID: <20080227001057.GE15862@ldl.fc.hp.com> (raw)
In-Reply-To: <200802251027.15107.bjorn.helgaas@hp.com>
* Russ Anderson <rja@sgi.com>:
>
> How about putting back some of the code that avoided the problem?
>
> The previous code must have bailed out before getting to
> ia64_sal_physical_id_info().
Yes, the previous code actually did this:
- if (smp_num_cpucores = 1 && smp_num_siblings = 1)
- return;
-
if ((status = ia64_pal_logical_to_phys(-1, &info)) != PAL_STATUS_SUCCESS
- printk(KERN_ERR "ia64_pal_logical_to_phys failed with %ld\n",
- status);
- return;
So it never called ia64_pal_logical_to_phys nor did it call
ia64_sal_get_physical_info.
My patch changed the logic so that we would at least try to call
both to extract what useful information we could (because various
HP platforms implement either one, both, or neither calls).
> Did it print out an error message, such as "No logical to
> physical processor mapping " or "ia64_pal_logical_to_phys
> failed with"? What does ia64_pal_logical_to_phys() return on
> a tiger box?
On a Tiger, we didn't see any printks because we bailed before
even making the PAL code. But if it *did* make the PAL call, we
would have seen that printk above.
My earlier patch (that caused a regression) changed that code
path to:
- always make the PAL call
- if return value was not success *and* something other
than "not implemented" then print the error and return
- else, if the PAL call was merely unimplemented, then
make the SAL call to try and get at least something
useful
- if the SAL call was unsuccessful as well (where
unsuccessful *includes* unimplemented condition) then
bail
- finally, combine what we could successfully figure out
and stash it away for later so when a user does a cat
/proc/cpuinfo, at best they'll get something more
useful than before, and at worst, there will be no
change from prior behavior
I think that was a pretty reasonable approach, but I admit it was
based on an assumption that an unimplemented SAL call would
return with -1 rather than doing something nasty like hang the
box.
I think that the Tiger firmware is actually buggy and should be
returning -1 rather than doing the Bad Thing(tm).
The patch I just sent out a bit ago should be a reasonable
workaround.
Thanks.
/ac
next prev parent reply other threads:[~2008-02-27 0:10 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-02-25 17:27 Tiger oops in ia64_sal_physical_id_info (was [RFC] regression: 113134fcbca83619be4c68d0ca66db609 Bjorn Helgaas
2008-02-25 23:08 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression: Alex Chiang
2008-02-26 1:11 ` Shaohua Li
2008-02-26 7:15 ` Alex Chiang
2008-02-26 9:24 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Li, Shaohua
2008-02-26 17:51 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-26 22:45 ` Alex Chiang
2008-02-26 23:07 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Matthew Wilcox
2008-02-26 23:46 ` Russ Anderson
2008-02-26 23:50 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-27 0:00 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Matthew Wilcox
2008-02-27 0:10 ` Alex Chiang [this message]
2008-02-27 0:15 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Shaohua Li
2008-02-27 0:23 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Russ Anderson
2008-02-27 0:34 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-27 1:05 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Russ Anderson
2008-02-27 14:38 ` Luck, Tony
2008-02-27 15:19 ` Russ Anderson
2008-02-27 16:50 ` Russ Anderson
2008-02-27 23:43 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-28 0:12 ` Alex Chiang
2008-02-28 0:30 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Matthew Wilcox
2008-02-28 0:31 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-28 0:34 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Russ Anderson
2008-02-28 0:42 ` Matthew Wilcox
2008-02-28 1:41 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] Alex Chiang
2008-02-28 3:47 ` Tiger oops in ia64_sal_physical_id_info (was [RFC] regression:113134fcbca83619be4c68d0ca66db6093 Russ Anderson
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=20080227001057.GE15862@ldl.fc.hp.com \
--to=achiang@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