2020 ACRN Project Technical Community Meeting Minutes - WW22'20
Zou, Terry
ACRN Project TCM - 27th May 2020
Location
Attendees (Total 33, 20/5)
Note: If you need to edit this document, please ask for access.
We disabled anonymous editing to keep track of changes and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation
from the TCM
Agenda
N/A
Download foil from ACRN Presentation->ACRN_TCM->WW22’20
Description: ACRN GPIO Meditator Introduction, we will introduce GPIO virtualization on ACRN, including GPIO concept, GPIO
virtualization design, architecture and GPIO IRQ virtualization implementation.
Q&A:
Q1: There is a virtual ACPI table in each User OS, which was created by ACRN device model. ARCN device model will also host physical GPIO and Virtual GPIO mapping table.
Marketing/Events
Resources
========================
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Debugging the UOS
Tomasz Bursztyka
Hi Fengwei,
toggle quoted messageShow quoted text
Zephyr does not support kgdb no. About the RT, I need it because currently only LOAPIC timer works properly in Zephyr on top of ACRN and thus requires the loapic pass- through. Best regards, Tomasz
Hi Tomasz,
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Debugging the UOS
Yin, Fengwei <fengwei.yin@...>
Hi Tomasz,
On Tue, 26 May 2020 09:09:20 +0200 Tomasz Bursztyka <tomasz.bursztyka@...> wrote: Hi,My understanding is that you want to debug UOS (which is zephyr) itself. There are two thing need check: 1. Whether zephyr could support kgdb like debug methodology? 2. If it could, because the limitation that ACRN doesn't support hardware debugging register, only software breakpoint could be used. Talking about UOS can't be stopped, if you doesn't care real time performance (I suppose this is likely true), you can start zephyr as standard guest. Then you could try to kill acrn-dm to restart UOS. If you want to shutdown it. a minor change to acrn-dm could achieve that. Regards Yin, Fengwei
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Debugging the UOS
Zou, Terry
Hi Tomasz, yes, in our regular release with default industrial config e.g., v1.6.1, we already enabled gdb in both service os, and guest os, but all based on Clear Linux. So from acrn hypervisor perspective, i think there should be no limitation, especially for UOS debug.
We did not try Zephyr gdb yet, but normally if Zephyr support/build gdb in image(suppose doable in zephyr native), it should works as guest. Anyway will double check with Zephyr for more debug experience, keep you updated then, thanks.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Debugging the UOS
Tomasz Bursztyka
Hi,
So as the title says I am bit stuck on how to debug a UOS efficiently. I could not find a way to get a gdb server available for the UOS, besides for linux which requires to be built with kgdb support if I understood well(?). But I am running zephyr as UOS. And using only printk() is a no go, not because it's the poor man's solution but because when the vm crashes, I will not be able to stop it with acrn-dm (even with -f). The only way to recover is to reboot the entire setup (acrn runs on up squared). It takes then a lot of time, too much time in fact. What would be a better method? Br, Tomasz
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2020 ACRN Project Technical Community Meeting Minutes - WW21'20
Zou, Terry
ACRN Project TCM - 20th May 2020
Location
Attendees (Total 38, 20/5)
Note: If you need to edit this document, please ask for access. We disabled anonymous editing to keep track of changes
and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation
from the TCM
Agenda
N/A
Download foil from ACRN Presentation->ACRN_TCM->WW21’20
Description: ACRN GVT-d overview Architecture Introduction and Tutorial, we will talk about what is GVT-d, the design in ACRN and demonstrate how to enable it in ACRN.
Q&A:
Q1: GVT-g and GVT-d are both supported on ACRN, you can choose/config either GVT-g for multi-display/VM, or GVT-d for one display/VM with better graphic performance, based
on your real user scenario.
Q2: After config/passthru GPU to one UOS, if the UOS is shut down, we don’t recommend returning the GPU(i915 driver) back to SOS, but resume the UOS quickly.
Q3: Solen memory for GTV-d, reserved specific memory range(64M) for UOS and built EPT to map memory addresses.
Q4: Performance comparison of GVT-d and GVT-g: there is extra performance overhead with GVT-g, but GVT-d is almost the same performance as native.
Q5: gvt-d, is there any dependency on specific OS drivers (either in windows or Linux) ? or just native GPU drivers ? No specific dependency, just use native GPU driver.
Marketing/Events
Resources
========================
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2020 ACRN Project Technical Community Meeting Minutes - WW20'20
Zou, Terry
ACRN Project TCM - 13th May 2020
Location
Attendees (Total 32, 13/5)
Note: If need to edit this document, please ask for access. We
disabled anonymous editing to keep track of changes and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation
from the TCM
Agenda
[Announce] ACRN Open Source Ver1.6.1 Release on 12th-May:
Download foil from ACRN Presentation->ACRN_TCM->WW20’20
Description: Yocto meta-acrn layer Introduction, we will talk about purpose of this layer and it’s internals, how to configure and build Service OS & User OS and finally
boot flow. We will cover a quick intro about Yocto project as well.
Q&A: N/A
Marketing/Events
Resources
========================
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[Announce] ACRN Open Source Ver1.6.1 Release Notes
Zou, Terry
Hi all,
We are very pleased to announce Version 1.6.1 release of ACRN. You can see the release blog from https://projectacrn.org/blog/ and detailed Release Notes in website https://projectacrn.github.io/latest/release_notes/release_notes_1.6.1.html
Version 1.6.1 features:
Libvirt is an open-source API library, daemon (libvirtd), and a command-line management tool (virsh) that decouples specific orchestrators (such as OpenStack) and hypervisors (such as ACRN). Our adding an “ACRN driver” allows libvirt to support ACRN. A libvirt based orchestrator can configure an ACRN guest domain’s CPU configuration during VM creation. We also support dynamic configuration for vCPU affinity via the ACRN Device Manager (acrn-dm). The ACRN configuration tool is also updated based on VM orchestration support. Refer to the ACRN-libvirt repo for more information.
Documentation Updates: many new and updated reference documents are available, including:
To learn more about ACRN: ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, optimized to streamline embedded development through an open source platform. Check out the ACRN project portal (https://projectacrn.org/) for more information.
Best & Regards Terry
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2020 ACRN Project Technical Community Meeting Minutes - WW19'20
Zou, Terry
ACRN Project TCM - 6th May 2020
Location
Attendees (Total 32, 6/5)
Note: If need to edit this document, please ask for access. We
disabled anonymous editing to keep track of changes and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation
from the TCM
Agenda
N/A
Download foil from ACRN Presentation->ACRN_TCM->WW19’20
Description: ACRN USB Meditator introduction, we will talk about the architecture of USB Meditator. Give brief introduce
to USB native architecture, USB xHCI virtualization architecture and xDCI virtualization architecture.
Q&A:
Q1: USB mediator performance overhead VS native: the performance depends on the configuration and user scenarios, basically with USB virtualization, performance may be
80% for USB storage reading, writing maybe higher.
Marketing/Events
Resources
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: HPET and IRQs
Tomasz Bursztyka
Hi Zide,
toggle quoted messageShow quoted text
From which log? From kernel's one at least I get this: [ 0.000000] tsc: Detected 1094.000 MHz processor [ 0.000054] tsc: Detected 1094.400 MHz TSC, current tsc:18670612749 So far my attempts to tweak the sys clock config option did not change the result. Br, Tomasz
Hi Tomasz,
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: HPET and IRQs
Yan, Like
I thought we have a document talking about the VM type definitions and constraints.
toggle quoted messageShow quoted text
Let me check first, we will add one if it's not there.
-----Original Message-----
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: HPET and IRQs
toggle quoted messageShow quoted text
-----Original Message-----Thanks for the information Like. I was suspecting this but couldn't find a good reference about this in our documentation. The couple of documents you referenced above provide some good background information and useful tips on how to run RTVMs on ACRN. It does not really talk about what this limitation for example. It would be great to have some High-Level Design Guide that talk more extensively about the different types of User VMs: i.e. pre-launched, post-launched and RTVM vs. "normal" User VMs. Is this something we can plan to add? Thanks, Geoffroy
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: HPET and IRQs
Yan, Like
Hi Tomasz,
toggle quoted messageShow quoted text
If you launched VM with --lapic_pt, then it's a RT VM. An RT VM is only allowed to be powered-off/reset when initiated inside the RT VM. The design principle here is that the other VMs (even the SOS VM) should not interfere RT VM to guarantee the RT performance. And there are some limitations as to RT VM, legacy devices are not supported, such as vHPET. Here are 2 documents for RT VM: https://projectacrn.github.io/latest/tutorials/rtvm_workload_design_guideline.html https://projectacrn.github.io/latest/tutorials/rtvm_performance_tips.html Thanks, Like
-----Original Message-----
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2020 ACRN Project Technical Community Meeting Minutes - WW18'20
Zou, Terry
Special Notes: If you have Zoom connection issue by using web browser, please launch Zoom application, manually input the meeting ID
(320664063) to join the Zoom meeting.
Zoom connection is not stable recently, sorry for the network issue during today’s meeting. If anybody have similar Zoom connection issue or good suggestion
for alternative tools, feel free to discuss in mailing list, thanks.
ACRN Project TCM - 29th Apr 2020
Location
Attendees (Total 30, 29/4)
Note: If need to edit this document, please ask
for access. We disabled anonymous editing to keep track of changes and identify who are the owners of the opens and agenda items.
Opens
Note: When adding opens or agenda items, please provide details (not only links), add your name next to the item you have added and specify your expectation from the
TCM
Agenda
N/A
Download foil from ACRN Presentation->ACRN_TCM->WW18’20
Description: ACRN virtio-i2c introduction, we will talk about the background and architecture of virtio-i2c. Give brief introduce to virtio-i2c FE and BE implementation. Talk about
the virtqueue used by virtio-i2c.
Q&A:
Q1: Guest can only dump i2c resources assigned to this guest.
Marketing/Events
Resources
========================
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Issue on latest Clear Linux and ACRN on UP2 board
toggle quoted messageShow quoted text
-----Original Message-----I agree, I thought it was mainly my board up until now but I have had similar reports from others since then. I've added a note (PR still pending): https://github.com/projectacrn/acrn-hypervisor/pull/4747 Geoffroy
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: HPET and IRQs
Hi Tomasz,
toggle quoted messageShow quoted text
Additional to Like's comments, to calibrate the timer, if you have serial HV console, you can get the TSC frequency from the log. For example: calibrate_tsc, tsc_khz=1593600 Then you need to change the Zephyr code accordingly. In this example, set CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC=1593600000 https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/x86/acrn/acrn_defconfig#L13 Best Regards, Zide
-----Original Message-----
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: HPET and IRQs
Tomasz Bursztyka
Hi Like,
VM or RT VM, I don't know. It did not occur to me there was an actual difference, I just used the launcher script for zephyr. I'll check. I could get LAPIC (which we indeed call LOAPIC) to work using -- lapic_pt option to acrn-dm. But then I am unable to stop/reset/delete the VM for some reason (even with --force on stop, it always returns -1). I'll still investigate about HPET. It "should" work, and if Zephyr is missing some support - runtime calibration that is - then it will be worth adding it. Thanks for the inputs, Tomasz
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: HPET and IRQs
Yan, Like
Hi Tomasz,
toggle quoted messageShow quoted text
Please find my response inline. One question, are you running Zephyr on standard VM or RT VM? Thanks, Like
-----Original Message-----[Like] LOAPIC is short for local APIC, right? In ACRN, we use LAPIC instead. When running zephyr with such timer, the timing get all bogus. 60 seconds[Like] As I know, zephyr won't do runtime timer calibration. You may need to do the calibration manually, and update the code to the correct timer frequency. [Like] HPET may use IRQ 24~31. As well, HPET calibration is needed, so we recommend you to use the LAPIC timer.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
HPET and IRQs
Tomasz Bursztyka
Hi,
I am currently trying to fix an issue with Zephyr running as UOS. The default configuration of Zephyr for acrn enables the LOAPIC timer, but there does not seem to be any mention of such timer in acrn. Unless I am missing something. When running zephyr with such timer, the timing get all bogus. 60 seconds looks like 5 seconds, etc... Timings are all off. As HPET is supported by acrn, I switched the timer to HPET. But now I have a new issue, acrn-dm displays: hpet t0 configured invalid irq 2, allowed_irqs 0xff000000 And nothing proceeds, since acrn defaults to 0, zephyr isr for hpet is never called. Indeed Zephyr sets HPET IRQ to 2, which seems to be wrong then for acrn . Which IRQ should HPET timer be configured to use on UOS side then? Thanks, Tomasz
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Issue on latest Clear Linux and ACRN on UP2 board
Tomasz Bursztyka
Hi,
I think this has to do with the UP2 UEFI firmware, it gives meGood to know I am not the only one who got this issue. Maybe it would be worth mentioning it in the up2 doc section of acrn then. Tomasz
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|