* What is domain creation flow-chart in XEND
@ 2005-01-15 23:21 Nauzad Sadry
2005-01-15 23:49 ` Anthony Liguori
0 siblings, 1 reply; 6+ messages in thread
From: Nauzad Sadry @ 2005-01-15 23:21 UTC (permalink / raw)
To: xen-devel
Hello all
I am a newbie in Python & have been trying to understand the set of
operations performed by XEND in order to create a new domain. Can
someone answer the following questions about domain creation
1. The set of Hypercalls requests made by XEND to XEN thru the privcmd driver
2. What event channels get created & what entities are involved in
setting up the event channels.
3. A control channel is supposed to exist between XEND & the domain.
If XEND listens to one end of the channel, then what entity in the
domain listens to the other end
If someone can point me to some document for more details I would appreciate it
Thanks
Nauzad
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: What is domain creation flow-chart in XEND
2005-01-15 23:21 What is domain creation flow-chart in XEND Nauzad Sadry
@ 2005-01-15 23:49 ` Anthony Liguori
2005-01-16 1:06 ` Mark Williamson
0 siblings, 1 reply; 6+ messages in thread
From: Anthony Liguori @ 2005-01-15 23:49 UTC (permalink / raw)
To: Nauzad Sadry; +Cc: xen-devel
I can answer some of this. This is what I've been able to figure out.
It could be wrong.
Nauzad Sadry wrote:
>Hello all
>
>I am a newbie in Python & have been trying to understand the set of
>operations performed by XEND in order to create a new domain. Can
>someone answer the following questions about domain creation
>
>1. The set of Hypercalls requests made by XEND to XEN thru the privcmd driver
>
>
It's a two step process. First the raw domain is created, then Linux
(or something else) is loaded. For the first part, it's actually quite
simple. Xend issues a DOM0_CREATEDOMAIN hypercall. That will create an
empty domain with a certain amount of CPUs and visible memory.
The next part is more complicated. For Linux, it's all pretty much done
in the xc_linux_build() function (tools/libxc/xc_linux_build.c). This
code is straight foreword.
>2. What event channels get created & what entities are involved in
>setting up the event channels.
>
>
From what I can tell, Linux always listens on event channel 1. So,
Xend just binds a local port to the domains port 1. After binding, it
maps a shared memory region and works on a ring queue passing back and
forth control_msg_t structures. This is how virtual devices are setup.
I imagine each device gets it's own channel but I do not know for sure.
>3. A control channel is supposed to exist between XEND & the domain.
>If XEND listens to one end of the channel, then what entity in the
>domain listens to the other end
>
>
The domain's kernel I believe.
>If someone can point me to some document for more details I would appreciate it
>
>
I posted some documentation to xc.h. This is where most of this work is
done. I don't know of any documentation. The bulk of all this is done
in libxc, xu.c (this binding implements a bunch of functionality), and
x2d2 (this isn't used by Xend but is a bit easier to understand than Xend).
Regards,
>Thanks
>
>Nauzad
>
>
>-------------------------------------------------------
>The SF.Net email is sponsored by: Beat the post-holiday blues
>Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
>It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
>_______________________________________________
>Xen-devel mailing list
>Xen-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/xen-devel
>
>
>
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: What is domain creation flow-chart in XEND
2005-01-15 23:49 ` Anthony Liguori
@ 2005-01-16 1:06 ` Mark Williamson
2005-01-17 4:07 ` Nauzad Sadry
0 siblings, 1 reply; 6+ messages in thread
From: Mark Williamson @ 2005-01-16 1:06 UTC (permalink / raw)
To: xen-devel; +Cc: Anthony Liguori, Nauzad Sadry
> From what I can tell, Linux always listens on event channel 1. So,
> Xend just binds a local port to the domains port 1. After binding, it
> maps a shared memory region and works on a ring queue passing back and
> forth control_msg_t structures. This is how virtual devices are setup.
>
> I imagine each device gets it's own channel but I do not know for sure.
Every domain has a "control interface" as you described, which is used for low
bandwidth communications (console and various configuration messages).
Amongst other things, the control channel is used to negotiate the locations
of shared memory pages that the network and block drivers can use for
high-bandwidth communications.
> The domain's kernel I believe.
See linux-2.6.10-sparse/arch/xen/kernel/ctrl_if.c and
linux-2.6.10-sparse/include/asm-xen/ctrl_if.h for code relating to the kernel
control interface driver.
> >If someone can point me to some document for more details I would
> > appreciate it
Andy wrote an explanation of how the block device drivers work. It's in
docs/misc/blkif-drivers-explained.txt. You might find some pertinent
information there, particularly when you look at how the drivers talk to each
other.
HTH,
Mark
> I posted some documentation to xc.h. This is where most of this work is
> done. I don't know of any documentation. The bulk of all this is done
> in libxc, xu.c (this binding implements a bunch of functionality), and
> x2d2 (this isn't used by Xend but is a bit easier to understand than Xend).
>
> Regards,
>
> >Thanks
> >
> >Nauzad
> >
> >
> >-------------------------------------------------------
> >The SF.Net email is sponsored by: Beat the post-holiday blues
> >Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> >It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> >_______________________________________________
> >Xen-devel mailing list
> >Xen-devel@lists.sourceforge.net
> >https://lists.sourceforge.net/lists/listinfo/xen-devel
>
> -------------------------------------------------------
> The SF.Net email is sponsored by: Beat the post-holiday blues
> Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/xen-devel
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: What is domain creation flow-chart in XEND
2005-01-16 1:06 ` Mark Williamson
@ 2005-01-17 4:07 ` Nauzad Sadry
2005-01-17 5:00 ` Anthony Liguori
0 siblings, 1 reply; 6+ messages in thread
From: Nauzad Sadry @ 2005-01-17 4:07 UTC (permalink / raw)
To: Mark Williamson; +Cc: xen-devel, Anthony Liguori
Hello folks
how does XEND pass the information abt the control channel in DomainU??.
I see xc_linux_build() function does set the control channel info, but
I do not see anybody in XEND using xc_linux_build (). Am I correct ??
>From what I am understanding x2d2 is like a miniXend for testing
purposes. The actual XEND does NOT communicate with x2d2.
Thanks
Nauzad
On Sun, 16 Jan 2005 01:06:23 +0000, Mark Williamson <maw48@cl.cam.ac.uk> wrote:
> > From what I can tell, Linux always listens on event channel 1. So,
> > Xend just binds a local port to the domains port 1. After binding, it
> > maps a shared memory region and works on a ring queue passing back and
> > forth control_msg_t structures. This is how virtual devices are setup.
> >
> > I imagine each device gets it's own channel but I do not know for sure.
>
> Every domain has a "control interface" as you described, which is used for low
> bandwidth communications (console and various configuration messages).
> Amongst other things, the control channel is used to negotiate the locations
> of shared memory pages that the network and block drivers can use for
> high-bandwidth communications.
>
> > The domain's kernel I believe.
>
> See linux-2.6.10-sparse/arch/xen/kernel/ctrl_if.c and
> linux-2.6.10-sparse/include/asm-xen/ctrl_if.h for code relating to the kernel
> control interface driver.
>
> > >If someone can point me to some document for more details I would
> > > appreciate it
>
> Andy wrote an explanation of how the block device drivers work. It's in
> docs/misc/blkif-drivers-explained.txt. You might find some pertinent
> information there, particularly when you look at how the drivers talk to each
> other.
>
> HTH,
> Mark
>
> > I posted some documentation to xc.h. This is where most of this work is
> > done. I don't know of any documentation. The bulk of all this is done
> > in libxc, xu.c (this binding implements a bunch of functionality), and
> > x2d2 (this isn't used by Xend but is a bit easier to understand than Xend).
> >
> > Regards,
> >
> > >Thanks
> > >
> > >Nauzad
> > >
> > >
> > >-------------------------------------------------------
> > >The SF.Net email is sponsored by: Beat the post-holiday blues
> > >Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> > >It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> > >_______________________________________________
> > >Xen-devel mailing list
> > >Xen-devel@lists.sourceforge.net
> > >https://lists.sourceforge.net/lists/listinfo/xen-devel
> >
> > -------------------------------------------------------
> > The SF.Net email is sponsored by: Beat the post-holiday blues
> > Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
> > It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/xen-devel
>
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: What is domain creation flow-chart in XEND
2005-01-17 4:07 ` Nauzad Sadry
@ 2005-01-17 5:00 ` Anthony Liguori
2005-01-17 8:16 ` Andrew Warfield
0 siblings, 1 reply; 6+ messages in thread
From: Anthony Liguori @ 2005-01-17 5:00 UTC (permalink / raw)
To: Nauzad Sadry; +Cc: Mark Williamson, xen-devel
Nauzad Sadry wrote:
>Hello folks
>
>how does XEND pass the information abt the control channel in DomainU??.
>
>
>
What information in particular are you referring to? Are you talking
about how it passes the information through the control channel or how
it sets up the control channel?
>I see xc_linux_build() function does set the control channel info, but
>I do not see anybody in XEND using xc_linux_build (). Am I correct ??
>
>
Yeah, this has confused me a little too. xfrd does call
xc_linux_build. Here's my understanding (this could be totally wrong).
Xend uses the config file to build a LISP expression that it passes to
xfrd. xfrd is what actually calls xc_linux_build. docs/misc/xend.tex
and docs/misc/xen_config.html explain this stuff although neither
mentions xfrd.
>>From what I am understanding x2d2 is like a miniXend for testing
>purposes. The actual XEND does NOT communicate with x2d2.
>
>
This is correct. Looks like x2d2 is a bit older too because it doesn't
actually do an evtchn_send which I believe means it won't actually work
with today's kernels.
Regards,
>Thanks
>
>Nauzad
>
>
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: What is domain creation flow-chart in XEND
2005-01-17 5:00 ` Anthony Liguori
@ 2005-01-17 8:16 ` Andrew Warfield
0 siblings, 0 replies; 6+ messages in thread
From: Andrew Warfield @ 2005-01-17 8:16 UTC (permalink / raw)
To: Anthony Liguori; +Cc: Nauzad Sadry, Mark Williamson, xen-devel
>how does XEND pass the information abt the control channel in DomainU??.
the control rings live on the shared page that is passed to new
domains at start-of-day.
see the control_if_t struct in xen/include/public/io/domain_controller.h.
> Yeah, this has confused me a little too. xfrd does call
> xc_linux_build. Here's my understanding (this could be totally wrong).
> Xend uses the config file to build a LISP expression that it passes to
> xfrd. xfrd is what actually calls xc_linux_build. docs/misc/xend.tex
> and docs/misc/xen_config.html explain this stuff although neither
> mentions xfrd.
In the general case of building a new domain, xend calls the domain
builder directly. you don't see the linux_build call because python
builds it inline:
tools/python/xen/xend/XendDomainInfo.py:736:
buildfn = getattr(xc, '%s_build' % ostype)
xfrd is only used for domain migration.
> >>From what I am understanding x2d2 is like a miniXend for testing
> >purposes. The actual XEND does NOT communicate with x2d2.
This is correct, x2d2 is a simpler xend that steven smith wrote. I
don't think that it will build with the current tree.
hth,
a.
-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-01-17 8:16 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-15 23:21 What is domain creation flow-chart in XEND Nauzad Sadry
2005-01-15 23:49 ` Anthony Liguori
2005-01-16 1:06 ` Mark Williamson
2005-01-17 4:07 ` Nauzad Sadry
2005-01-17 5:00 ` Anthony Liguori
2005-01-17 8:16 ` Andrew Warfield
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.