|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] libxl/xl memory paging/sharing/ballooning/etc proposal.
On Thu, 2012-03-15 at 16:00 +0000, Olaf Hering wrote:
> On Thu, Mar 15, Ian Campbell wrote:
>
>
> > > Is memory/target below /local/domain/X or /vm/<uuid> in use by the guet?
> >
> > /local/domain/X. The is no such key under /vm/<uuid>
>
> Its just "/vm/<uuid>/memory", after 'xm mem-set dom 2G'. This what I had
> in mind.
# xenstore-ls -fp| grep memory
/local/domain/0/memory = "" (n0)
/local/domain/0/memory/target = "524288" (n0)
/local/domain/0/memory/static-max = "4294967292" (n0)
/local/domain/0/memory/freemem-slack = "629049" (n0)
/local/domain/32/memory = "" (n0,r32)
/local/domain/32/memory/static-max = "524288" (n0,r32)
/local/domain/32/memory/target = "516096" (n0,r32)
/local/domain/32/memory/videoram = "8192" (n0,r32)
/local/domain/33/memory = "" (n0,r33)
/local/domain/33/memory/static-max = "32768" (n0,r33)
/local/domain/33/memory/target = "32769" (n0,r33)
/local/domain/33/memory/videoram = "-1" (n0,r33)
/local/domain/47/memory = "" (n0,r47)
/local/domain/47/memory/static-max = "524288" (n0,r47)
/local/domain/47/memory/target = "516096" (n0,r47)
/local/domain/47/memory/videoram = "8192" (n0,r47)
#
>
> > > I'm sure the latter can only be used to set a watch for example (dont
> > > have a guest at hand to verify).
> > > Also the guest would have to proactivly parse the "links" to find its
> > > domid, to later browse /local/domain/X.
> >
> > No, /local/domain/X is the domains "home directory", it is what relative
> > paths are relative to -- so to access /local/domain/X/memory/target a
> > domain just accesses "memory/target"
>
> Hmm, really?
I am reasonably sure.
# xenstore-ls -fp| grep ijc-foo
# xenstore-write ijc-foo/bar baz
# xenstore-ls -fp| grep ijc-foo
/local/domain/0/ijc-foo = "" (n0)
/local/domain/0/ijc-foo/bar = "baz" (n0)
#
See also tools/xenstore/xenstored_domain.c:talloc_domain_path() which
creates the path returned by get_implicit_path():
static char *talloc_domain_path(void *context, unsigned int
domid)
{
return talloc_asprintf(context, "/local/domain/%u",
domid);
}
> When I worked on xenbus_reset_state() for kdump the guest started in
> /vm/<uuid> for relative paths.
>
> > > What would it protect if /local/domain/X/memory (and other parts) are not
> > > accesible?
> >
> > XS has a permissions scheme which allows per domain r/w, r/o or none.
> >
> > Something like the paging target should not even be r/o for the guest
> > IMHO. In general we try to keep stuff which the domain should not even
> > be looking at separate from the stuff which it should.
>
> The target could very well go below /local/domain/X/xenpaging, and this
> directory can get the proper permissions to be r/w only for the tools.
My point was that but is much better to segregate non-guest visible
stuff outside of this path in order to avoid mistake.
Things have a tendency to leak into the guest visible world and become
an ABI otherwise.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |