From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Juergen Gross <jgross@suse.com>,
Ian Campbell <ian.campbell@citrix.com>,
xen-devel@lists.xen.org, ian.jackson@eu.citrix.com,
stefano.stabellini@eu.citrix.com, wei.liu2@citrix.com
Subject: Re: [PATCH 9/9] xenstore: when running in mini-os use printk for diagnostic messages
Date: Tue, 15 Dec 2015 15:01:14 +0000 [thread overview]
Message-ID: <56702B3A.6050805@citrix.com> (raw)
In-Reply-To: <56702A50.3040907@suse.com>
On 15/12/15 14:57, Juergen Gross wrote:
> On 15/12/15 15:06, Andrew Cooper wrote:
>> On 15/12/15 12:55, Juergen Gross wrote:
>>> On 15/12/15 13:52, Ian Campbell wrote:
>>>> On Tue, 2015-12-15 at 13:47 +0100, Juergen Gross wrote:
>>>>> On 15/12/15 13:31, Ian Campbell wrote:
>>>>>> On Fri, 2015-12-11 at 16:47 +0100, Juergen Gross wrote:
>>>>>>> Xenstore messages for diagnostic purposes are lost today in case
>>>>>>> xenstore is running under mini-os instead in a dom0 daemon.
>>>>>> Where does vfprintf end up under mini-os?
>>>>> TBH: I just couldn't find it. I tried to get some diagnostics when
>>>>> I started this work and couldn't find any place where the messages
>>>>> would occur.
>>>>>
>>>>>>> Use printk of mini-os in this situation.
>>>>>> and this now ends up on the console and (for a debug h/v) in the xen
>>>>>> dmesg,
>>>>>> is that right?
>>>>> The console of the xenstore domain seems to be a little bit special, as
>>>>> there is no component up to now writing the information needed to
>>>>> connect xenconsoled to the xenstore domain. This could be the reason I
>>>>> wasn't able to see any message printed via vfprintf. :-(
>>>> That sounds probable.
>>>>
>>>>> So in the end it will be part of xen dmesg.
>>>> Only for a debug=y Xen, not for a release build IIRC, unless you added some
>>>> other privilege along with your new flag which I missed.
>>> No, this is correct.
>>>
>>>>> And this is where it should
>>>>> be, as such messages will be needed in case of xenstore domain not
>>>>> working properly. And I think it's console can be accessed by any means
>>>>> only in case of a working xenstore. :-)
>>>> An alternative would be init-xenstore-domain to daemonize and take on
>>>> respoibility for consuming the console ring and throwing it into a file?
>>> Interesting idea. I'll try this.
>> If the stubdomain could handle buffering of its ring for a while,
>> xenconsoled could just be used. Alternatively, have xenconsoled able to
>> cope without xenstored while the xenstored stubdomain bootstraps itself.
> This is a hen-and-egg problem.
>
> Today xenconsoled relies on xenstore for connecting to the console
> frontends. I think letting xenconsoled run without xenstore would
> require quite some work in xenconsoled.
>
> I suspect mini-os tries to initialize it's console frontend before
> activating it's main thread and thus xenstore. So we would have to
> re-init the xenstore domain's console after xenstore is capable to
> add entries. I'm not sure the xenstore frontend of mini-os is
> capable to talk to the backend directly instead via xenbus.
>
>> IMO, it would be better to have just a single consoled, rather than
>> having a stub running alongside. A stub would necessarily need some
>> negotiation with the main xenconsoled so they don't both map the console
>> ring and play the part of consumer.
> I think as long as the xenstore domain's console frontend isn't
> creating xenstore entries the risk should be zero. I haven't checked
> whether the information needed to get access to the console ring is
> available without xenstore.
>
> Looking at the alternatives I think trying to use xenconsoled just
> normally via xenstore is the best solution. So we need a way to
> handle the mini-os console frontend initialization, which should be
> doable.
All console information (from the domains point of view) is provided in
the shared info page for PV, or via HVM Params for HVM.
The toolstack is responsible for stashing the same information in
xenstore so xenconsoled can connect. (This is somewhat problematic as
the two can get out of sync and nothing notices.)
~Andrew
next prev parent reply other threads:[~2015-12-15 15:01 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-11 15:47 [PATCH 0/9] xenstore: make it easier to run xenstore in a domain Juergen Gross
2015-12-11 15:47 ` [PATCH 1/9] xen: add xenstore domain flag to hypervisor Juergen Gross
2015-12-11 15:54 ` Fwd: " Juergen Gross
2015-12-15 22:18 ` Daniel De Graaf
2015-12-11 15:47 ` [PATCH 2/9] libxc: support new xenstore domain flag in libxc Juergen Gross
2015-12-11 15:47 ` [PATCH 3/9] xenstore: install init-xenstore-domain via make install Juergen Gross
2015-12-15 12:16 ` Ian Campbell
2015-12-15 12:19 ` Juergen Gross
2015-12-15 12:31 ` Ian Campbell
2015-12-15 21:41 ` Daniel De Graaf
2015-12-16 6:27 ` Juergen Gross
2015-12-16 10:01 ` Ian Campbell
2015-12-11 15:47 ` [PATCH 4/9] xenstore: add error messages to init-xenstore-domain Juergen Gross
2015-12-15 12:20 ` Ian Campbell
2015-12-15 21:54 ` Daniel De Graaf
2015-12-11 15:47 ` [PATCH 5/9] xenstore: modify init-xenstore-domain parameter syntax Juergen Gross
2015-12-15 12:22 ` Ian Campbell
2015-12-15 21:49 ` Daniel De Graaf
2015-12-11 15:47 ` [PATCH 6/9] xenstore: don't start xenstore domain if already one is active Juergen Gross
2015-12-15 12:23 ` Ian Campbell
2015-12-15 12:28 ` Juergen Gross
2015-12-15 12:32 ` Ian Campbell
2015-12-15 12:40 ` Juergen Gross
2015-12-15 12:47 ` Ian Campbell
2015-12-15 12:49 ` Juergen Gross
2015-12-11 15:47 ` [PATCH 7/9] xenstore: add init-xenstore-domain parameter to specify cmdline Juergen Gross
2015-12-15 12:24 ` Ian Campbell
2015-12-11 15:47 ` [PATCH 8/9] xenstore: write xenstore domain data to xenstore Juergen Gross
2015-12-15 12:26 ` Ian Campbell
2015-12-15 12:34 ` Juergen Gross
2015-12-15 12:49 ` Ian Campbell
2015-12-15 12:53 ` Juergen Gross
2015-12-15 13:19 ` Ian Campbell
2015-12-15 13:30 ` Juergen Gross
2015-12-17 8:26 ` Juergen Gross
2015-12-17 10:01 ` Ian Campbell
2015-12-17 10:08 ` Juergen Gross
2015-12-17 10:16 ` Ian Campbell
2015-12-11 15:47 ` [PATCH 9/9] xenstore: when running in mini-os use printk for diagnostic messages Juergen Gross
2015-12-15 12:31 ` Ian Campbell
2015-12-15 12:47 ` Juergen Gross
2015-12-15 12:52 ` Ian Campbell
2015-12-15 12:55 ` Juergen Gross
2015-12-15 14:06 ` Andrew Cooper
2015-12-15 14:57 ` Juergen Gross
2015-12-15 15:01 ` Andrew Cooper [this message]
2015-12-15 15:44 ` Juergen Gross
2015-12-17 16:38 ` Juergen Gross
2015-12-15 13:03 ` Samuel Thibault
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56702B3A.6050805@citrix.com \
--to=andrew.cooper3@citrix.com \
--cc=ian.campbell@citrix.com \
--cc=ian.jackson@eu.citrix.com \
--cc=jgross@suse.com \
--cc=stefano.stabellini@eu.citrix.com \
--cc=wei.liu2@citrix.com \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).