From: George Dunlap <george.dunlap@citrix.com>
To: Dario Faggioli <dario.faggioli@citrix.com>,
Julien Grall <julien.grall@arm.com>
Cc: Varun.Swara@arm.com, Xen Devel <xen-devel@lists.xen.org>,
Steve Capper <Steve.Capper@arm.com>
Subject: Re: xen/arm: Assertion 'timer->status >= TIMER_STATUS_inactive' failed at timer.c:279
Date: Wed, 27 Apr 2016 14:43:57 +0100 [thread overview]
Message-ID: <5720C21D.5030402@citrix.com> (raw)
In-Reply-To: <1461692950.3525.71.camel@citrix.com>
On 26/04/16 18:49, Dario Faggioli wrote:
> On Tue, 2016-04-26 at 15:25 +0100, Julien Grall wrote:
>> Hi Dario,
>>
> Hi,
>
>> A couple of people have been reported Xen crash on the ARM64
>> Foundation Model [1] with recent unstable.
>>
> Ok, thanks for reporting.
>
>> The crash seems to happen when Xen fails to bring up secondary CPUs
>> (see stack trace below).
>>
> Ah... I see.
>
>> From my understanding, csched_free_pdata is trying to kill the
>> timer spc->ticker. However the status of this timer is
>> TIMER_STATUS_invalid.
>>
>> This is because csched_init_pdata has set a deadline for the
>> timer (set_timer) and the softirq to schedule the timer has
>> not yet happen (indeed Xen is still in early boot).
>>
> Yes, this is sort of what happens (only slightly different, see the
> changelog of the atached patch patch).
>
>
>> I am not sure how to fix this issue. How will you recommend
>> to fix it?
>>
> Yeah, well, doing it cleanly includes a slight change in the scheduler
> hooks API, IMO... and we indeed should do it cleanly :-))
>
> George, what do you think?
>
> Honestly, this is similar to what I was thinking to do already (I mean,
> having an deinit_pdata hook, "symmetric" with the init_pdata one), when
> working on that series, because I do think it's cleaner... then, I
> abandoned the idea, as it looked to not be necessary... But apparently
> it may actually be! :-)
>
> Let me know, and I'll resubmit the patch properly (together with
> another bugfix I have in my queue).
Yeah, assuming the description in your changeset is accurate, this seems
like the right approach.
The main thing to add here I think is that we need to document what
different circumstances under which the various functions may be called
-- for instance, in credit1 free_pdata(), it seems to expect that spc
may == null at some point. Future schedulers need to know the
circumstances under which this might happen so they can DTRT.
It might be nice at some point to have the alloc / free / init / deinit
functions in credit1 ordered in a rational way so that they could be
understood by glancing at them, rather than having to jump around, but
that's probably a nice-to-have clean-up for another time. :-)
-George
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-04-27 13:43 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-26 14:25 xen/arm: Assertion 'timer->status >= TIMER_STATUS_inactive' failed at timer.c:279 Julien Grall
2016-04-26 17:49 ` Dario Faggioli
2016-04-26 18:05 ` Julien Grall
2016-04-27 13:43 ` George Dunlap [this message]
2016-04-27 14:05 ` Dario Faggioli
2016-04-27 14:29 ` George Dunlap
2016-05-03 13:03 ` Julien Grall
2016-05-03 13:20 ` George Dunlap
2016-05-03 13:22 ` Julien Grall
2016-05-03 13:23 ` Wei Liu
2016-05-03 21:52 ` Dario Faggioli
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=5720C21D.5030402@citrix.com \
--to=george.dunlap@citrix.com \
--cc=Steve.Capper@arm.com \
--cc=Varun.Swara@arm.com \
--cc=dario.faggioli@citrix.com \
--cc=julien.grall@arm.com \
--cc=xen-devel@lists.xen.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;
as well as URLs for NNTP newsgroup(s).