From: Keir Fraser <keir.xen@gmail.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, kevin.tian@intel.com
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: Query about cpuidle
Date: Fri, 09 Sep 2011 13:50:22 +0100 [thread overview]
Message-ID: <CA8FCA1E.2091C%keir.xen@gmail.com> (raw)
In-Reply-To: <4E6A03FE.8090202@citrix.com>
On 09/09/2011 13:18, "Andrew Cooper" <andrew.cooper3@citrix.com> wrote:
> Hello,
>
> We have recently had a support escalation about Xen-4.1.1 being unable
> to boot on HP BL460c G7 blades. The problem turned out to be a null
> function pointer deference (ns_to_tick in cpu_idle.c) during early boot
> of dom0, in the set_cx_pminfo function.
>
> I applied your patch, changeset 23662:2faba14bac13, about initializing
> default C state information, and this appears to have fixed the problem.
>
> However, I see in the patch that setting up the function pointers
> (ns_to_tick, tick_to_ns etc) is predicated on the hypercall coming in on
> CPU0.
Firstly, it's predicated on the hypercall addressing CPU0, rather than being
executed on CPU0. Secondly, the cpuidle_init_cpu() functiomn is *also*
called from the CPU-hotplug path in Xen, and is called directly from the
presmp_initcall path for CPU0. I don't know why it is called both on a
hypercall path and on a hotplug path, it seems weird. But anyhow, this means
that the function pointers will guaranteed get set up early during Xen boot?
I can only sympathise and agree that the code is complicated and opaque,
however.
-- Keir
> What guarantees are in place to ensure that these function
> pointers get set up? I cant see anything obvious from the code, but
> have to admit that the null pointer deference appears to have gone away.
>
> Thanks in advance,
next prev parent reply other threads:[~2011-09-09 12:50 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-09-09 12:18 Query about cpuidle Andrew Cooper
2011-09-09 12:50 ` Keir Fraser [this message]
2011-09-13 3:18 ` Tian, Kevin
2011-09-13 3:19 ` Tian, Kevin
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=CA8FCA1E.2091C%keir.xen@gmail.com \
--to=keir.xen@gmail.com \
--cc=andrew.cooper3@citrix.com \
--cc=kevin.tian@intel.com \
--cc=xen-devel@lists.xensource.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 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.