On the Jetson TK1 inmate I use linux 4.8.2 with PREEMPT-RT patch.
I measure a 1KHz high priority task based on hrtimer events that measures it's own jitter.
The worst case, I get 400uS jitter on 1mS tick - not so bad, but the interesting thing is that the jitter stays as low as 50uS, untill I start activity on the root cell, especially GUI.
So the questions is: if the non-root cell is completely isolated from the root: separate physical memory, PPI from its local timer, where this cross influence can come from?
Thanks
Dan
--
You received this message because you are subscribed to a topic in the Google Groups "Jailhouse" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jailhouse-dev/RfucfkcbNQU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jailhouse-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
>
> Henning
>
>> Thanks
>> Dan
>>
>
>Â Â Â <mailto:jailhouse-dev%2Bunsu...@googlegroups.com>.
>Â Â Â For more options, visit https://groups.google.com/d/optout
>Â Â Â <https://groups.google.com/d/optout>.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Jailhouse" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to jailhouse-dev+unsubscribe@googlegroups.com
> <mailto:jailhouse-dev+unsub...@googlegroups.com>.
>Â Â Â <mailto:jailhouse-dev%2Bunsubscr...@googlegroups.com>.
>Â Â Â For more options, visit https://groups.google.com/d/optout
>Â Â Â <https://groups.google.com/d/optout>.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Jailhouse" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to jailhouse-dev+unsubscribe@googlegroups.com
> <mailto:jailhouse-dev+unsubscri...@googlegroups.com>.
Jan,
Running gic-demo at 1KHz on an inmate - the jitter is still gives 200 us - worse case.
I wonder why in this bare-metal case, the stats show no CP15 exits as well:
vmexits_total 144686 987
vmexits_virt_irq 144683 987
vmexits_management 2 0
vmexits_mmio 1 0
vmexits_cp15 0 0
vmexits_hypercall 0 0
vmexits_maintenance 0 0
vmexits_psci 0 0
vmexits_virt_sgi 0 0
Thanks
Jan,
Pleae see at the attached file:
timers_list:
1. Root cell (very good jitter ~3us average)
2. Non-root cell (terrible jitter ~40us average)
For the bare metal gic-demo , modified to 1KHz, the jitter is somewhere in between.
Thank you!
Dan
Tried with CONFIG_ARM_LPAE on in the non-root linux. The minimal time is still around 40 uS, when the root cell is stressed, worse case is 700us
The CP15 are down to 20/sec
vmexits_total 200708 1019
vmexits_virt_irq 97381 1000
vmexits_cp15 103115 19
vmexits_mmio 207 0
vmexits_psci 3 0
vmexits_management 2 0
vmexits_hypercall 0 0
vmexits_maintenance 0 0
vmexits_virt_sgi 0 0
Still can be the blame for the worth case, but not for the average
Could you explain please how LPAE reduced the CP15 exits so dramatically?
With bare-metal gic demo inmate, the jitter is min:3 avg:10 worse:150
So the linux is to blame. Any suggestions?
When the graphics are active, there is an interrupt storm of tegra display driver:
from /proc/interrupt
106: 43280 0 0 GIC tegradc.1
at rate of ~2KHz.
When I artificially block this interrupt after a while, I see the real time jitter behaving almost perfectly.
Can you see how interrupt SPI storm ,though to the root cell, might damage RT jitter on another cell?
> >
> > When I artificially block this interrupt after a while, I see the real time jitter behaving almost perfectly.
> >
> >
> > Can you see how interrupt SPI storm ,though to the root cell, might damage RT jitter on another cell?
> >
>
> The interrupt storm may be just one symptom of load on shared resources.
> Maybe the GPU or its driver are also issuing a high load of memory
> accesses or are otherwise stressing the shared interconnects.
>
> Looking at the hypervisor, there should be no interference between two
> cells if one receives lots of interrupts. Specifically, there is only
> one shared lock between both in irqchip.c (dist_lock), but it's taken
> only for a very short read-modify-write access.
>
> Jan
What about Linux inmate cells on Intel? Has anybody else seem horrid timer resolutions (like ".resolution: 1000000 nsecs") as well? The aforementioned ARM patch makes no sense for the x86's version of time.c, I guess. Should we be providing HPET address to the inmate the same way it's done for PM timer address? Any other ideas?
Regards,