[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [GSoc] GSoc Introduction : Xen on ARM: create multiple guests from device tree



CC'ing a couple of maintainers that might have more insights on this
project.

On Tue, 28 Mar 2017, Stefano Stabellini wrote:
> On Tue, 28 Mar 2017, Methuku Karthik wrote:
> > Hi Stefano,
> > 
> > Kindly suggest me reading material that could help me understand and
> > come up with the proposal.
> 
> Sure! For the "Xen on ARM: create multiple guests from device tree"
> project, the idea is that on many embedded systems the user knows how
> many guests to create beforehand, and usually it is a small number, like
> 2 or 3. Often these guests don't even have any PV frontends, but just a
> set of devices assigned to them. An example could be an extremely simple
> guest that only accesses one physical device (which is assigned to it at
> boot) and prints messages using the debug hypercalls (see
> xen/arch/arm/traps.c:do_debug_trap).
> 
> In this scenario, there is no need to wait for Dom0 to boot to create
> this second guest (I'll call it Dom1, to distinguish it from Dom0). Xen
> could actually create it directly by itself, the same way it starts Dom0
> (see xen/arch/arm/domain_build.c:construct_dom0 and
> docs/misc/arm/device-tree/booting.txt).
> 
> The project is about extending the existing device interface to pass an
> additional kernel, initrd, command line arguments for the second virtual
> machine. It would also need to include which devices should be assigned
> to it. In response, Xen should build the second VM the same way it would
> do normally when done via the toolstack (xl/libxl), but it would happen
> at boot time, before Dom0 is fully up and running.
> 
> 
> 
> For the "Share a page in memory from the VM config file" project, 

Ops, I forgot to add this description :-)

I was saying, for the "Share a page in memory from the VM config file"
project, the idea is that we want to share a page in memory between two
VMs just by adding one line to their VM config files. They should be
able to communicate with each others straight away by writing at the
right address in memory. That way, even small embedded systems with no
xenstore support can still setup a communication channel with each
others.

Fundamentally, it just requires the xl/libxl toolstack (see tools/xl and
tools/libxl) to parse a new VM config file option, and in response share
a page at the specified address, or map a page at a specified address.
If the memory address is wrong, the toolstack needs to be able to handle
the failure. Sharing pages and mapping pages in xl/libxl is easy; the
difficulty of the project is coming up with the right parameter in the
VM config file so that multiple VMs can share different pages with each
others. It probably requires the introduction of a "token" to identify
the page you want to share across multiple VM config files.

For example, Dom1 should be able to share a page with Dom2 and a
different page with Dom3. It needs to be clear which page is shared with
which VM from the VM config files.


 
> > On Tue, Mar 28, 2017 at 1:38 PM, Stefano Stabellini
> > <sstabellini@xxxxxxxxxx> wrote:
> > > I would also like to take the opportunity to remind you of the upcoming
> > > deadline for applications submissions, which is the 3rd of April for
> > > GSoC, see:
> > >
> > > http://marc.info/?l=xen-devel&m=149071502330534
> > >
> > > The GSoC application system is
> > > https://summerofcode.withgoogle.com/get-started/.
> > >
> > > Please give a look at the Xen Project application template here:
> > >
> > > https://wiki.xenproject.org/wiki/GSoC_Student_Application_Template
> > >
> > > It also includes an "Implementation Plan", where you have the chance to
> > > explain the implementation plan for the projects you would like to apply
> > > for. You can apply for more than one project if you want to.
> > 
> > Thanks for the reminder Stefano. I will post some questions about my
> > implementation plan.
> > 
> > I would like to spend my time fixing the bug but as deadline is
> > approaching , I would like to know the bare essential expected in the
> > proposal?
> 
> It needs to include the basic milestones and how long you estimate it is
> going to take to complete each of them. More details you add, more
> you'll show your understanding of the problem.
> 
> 
> > >
> > > Thanks,
> > >
> > > Stefano
> > >
> > >
> > > On Mon, 27 Mar 2017, Stefano Stabellini wrote:
> > >> Hello Methuku,
> > >>
> > >> It is great to hear that you are interested in working on Xen on ARM.
> > >> It's good that you already know how to build and install Xen on an ARM
> > >> board.
> > >>
> > >> Do you have serial access to your Nvidia Jetson TK1? If not, I would
> > >> suggest to setup another test environment based on a different board, or
> > >> simply use the ARM Foundation Platform which is a free (as in beer)
> > >> software emulator.
> > >>
> > >> In terms of bug fixes, you could give a look at
> > >>
> > >> https://xenproject.atlassian.net/projects/XEN/issues
> > >>
> > >> Most of the items listed are large projects, but some of them are pretty
> > >> small, small enough to be a starting point. For example XEN-29 (Add
> > >> -fstack-protector support to the hypervisor), XEN-30 (Make out-of-tree
> > >> builds work) or XEN-38 (Xen - Embed .config in Xen binary).
> > 
> > I  started working on XEN-38 for now. But i am also interested to look
> > into XEN-30.
> 
> Be careful that XEN-30 is longer than it looks because there are lots of
> Makefiles to fix. However, even if you don't convert all Makefiles to
> support out-of-tree builds but only some, it would still be OK.
> 
> 
> > >> Cheers,
> > >>
> > >> Stefano
> > >>
> > >>
> > >> On Mon, 27 Mar 2017, Methuku Karthik wrote:
> > >> > Hi Everyone,
> > >> >
> > >> > My name is Karthik. I am a first year graduate student in Embedded 
> > >> > Systems at University of Pennsylvania. I am avid c, c++ and python 
> > >> > programmer.I have 4 years of
> > >> > work experience as Embedded Software developer at Airbus.
> > >> >
> > >> > For the last four months I have been working as a research assistant 
> > >> > in PRECISE lab at the University of Pennsylvania, helping Meng Xu 
> > >> > (cc.ed) to evaluate the
> > >> > performance of the Xen's RTDS scheduler.
> > >> >
> > >> > I'm interested in the following two projects. I'm happy to work on one 
> > >> > of them.
> > >> > (1) Share a page in memory from the VM config file.
> > >> > (2)  Xen on ARM: create multiple guests from device tree.
> > >> >
> > >> > I have experience in compiling Xen and installing it on ARM 
> > >> > board(Nvidia Jetson TK1). I'm also well equiped in using the xl tool 
> > >> > to manage the VMs.
> > >> >
> > >> > I noticed that I should contribute some bug fixes to be able to get 
> > >> > the ticket to the Xen GSoC.
> > >> > Do you have some suggestions on how I should start?
> > >> > Do you have a list of simple bugs that I can fix?
> > >> >
> > >> > I'm very interested in the Xen Project. I want to become a Xen 
> > >> > contributor in the near future.
> > >> >
> > >> > Thank you very much for your help!
> > >> >
> > >> > Best,
> > >> > Karthik
> > >> >
> > >> >
> > 
> > Best,
> > Karthik.
> > 
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.