[Barrelfish-users] Deferred event problem...

Simon Gerber simon.gerber at inf.ethz.ch
Wed Mar 5 15:54:22 CET 2014


Hi Mark,

I've run your sample code and get similar (but not repeatable, except 
for core 3 doing nothing at all) behaviour from QEMU.

I suspect the behaviour we're seeing here is caused by the fact that 
stock QEMU's full system emulation mode only uses one host thread which 
might lead to different virtual cores being scheduled in a irregular 
fashion and therefore skewing their timers. In general, time-sensitive 
things don't work too well on QEMU judging from my experience.

The same code behaves as expected on one of our physical machines (i.e. 
you get timer ticks every second on each core).

Best,
-- Simon

On 04.03.2014 20:40, M Brown wrote:
> Andrew,
>
>     I’m running Barrelfish under QEMU. I’m running the emulation with 4
> cores. Enclosed is a simple timer setup in main that I’m loading and
> running on the four cores:
>
> What I get on the output indicates cores 0 and 2 reporting the one
> second interval regularly. Core 1 chimes in now-and-then and nothing
> from core 3:
>
> Can you guys try this and see what you get?
>
> Thanks,
>
> Mark Brown
>
> Huawei Technologies Inc.
>
> 5340 Legacy Dr., Suite 175
>
> Plano, TX 75024
>
> Tel: 469-277-5700 x5870
>
> Email: m.brown at huawei.com
>
> *From:*Andrew Baumann [mailto:Andrew.Baumann at microsoft.com]
> *Sent:* Friday, February 28, 2014 3:28 PM
> *To:* M Brown; barrelfish-users at lists.inf.ethz.ch
> <mailto:barrelfish-users at lists.inf.ethz.ch>
> *Cc:* debashis bhattacharya
> *Subject:* RE: Deferred event problem...
>
> Hi Mark,
>
> This is not a known problem (at least not to me; someone else on the
> list might know more). Deferred events run off the same per-core timer
> used by the kernel for scheduling – on x86, this is the local APIC
> timer. If they don’t work on other cores, then I would expect that a lot
> of scheduling code would also be broken. What platform are you running
> on? Does this reproduce on Qemu?
>
> Andrew
>
> *From:* M Brown [mailto:M.Brown at huawei.com]
> *Sent:* Thursday, 27 February 2014 18:15
> *To:* barrelfish-users at lists.inf.ethz.ch
> <mailto:barrelfish-users at lists.inf.ethz.ch>
> *Cc:* debashis bhattacharya
> *Subject:* [Barrelfish-users] Deferred event problem...
>
> All,
>
>     I’m running into a problem with the deferred event support. I’m
> running a system with 4 cores. When I attach a periodic deferred event
> (timer) within core 0 all works well. When I attach one within core 3 it
> does not fire at all. All deferred events are attached to their
> respective default waitsets and the “main”s running in each core are
> running an event loop on the core’s respective default waitset. Is there
> any known problem with this function?
>
> Thanks,
>
> Mark Brown
>
> Huawei Technologies Inc.
>
> 5340 Legacy Dr., Suite 175
>
> Plano, TX 75024
>
> Tel: 469-277-5700 x5870
>
> Email: m.brown at huawei.com <mailto:m.brown at huawei.com>
>
>
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>



More information about the Barrelfish-users mailing list