[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] xen/console: Handle true dom0less case when switching serial input
On 16.03.2023 08:51, Michal Orzel wrote: > On 16/03/2023 08:24, Jan Beulich wrote: >> On 16.03.2023 02:49, Stefano Stabellini wrote: >>> On Wed, 15 Mar 2023, Michal Orzel wrote: >>>> On 15/03/2023 14:11, Jan Beulich wrote: >>>>> On 15.03.2023 13:34, Michal Orzel wrote: >>>>>> On 14/03/2023 16:17, Jan Beulich wrote: >>>>>>> On 14.03.2023 15:27, Michal Orzel wrote: >>>>>>>> --- a/xen/drivers/char/console.c >>>>>>>> +++ b/xen/drivers/char/console.c >>>>>>>> @@ -491,6 +491,14 @@ static void switch_serial_input(void) >>>>>>>> else >>>>>>>> { >>>>>>>> console_rx++; >>>>>>>> + >>>>>>>> + /* >>>>>>>> + * Skip switching serial input to hardware domain if it does >>>>>>>> not exist >>>>>>>> + * (i.e. true dom0less mode). >>>>>>>> + */ >>>>>>>> + if ( !hardware_domain && (console_rx == 1) ) >>>>>>>> + console_rx++; >>>>>>> >>>>>>> The consumers of this variable aren't really serialized with this >>>>>>> updating. That's probably okay-ish prior to your change, but now >>>>>>> there can be two updates in rapid succession. I think it would be >>>>>>> better if the variable was written only once here. >>>>>> ok, makes sense. >>>>>> >>>>>>> >>>>>>>> printk("*** Serial input to DOM%d", console_rx - 1); >>>>>>> >>>>>>> When invoked from console_endboot() this will now switch to Dom1, >>>>>>> i.e. that domain becomes kind of "preferred", which I think is >>>>>>> wrong. Instead I think in such a case we should direct input to >>>>>>> Xen by default. >>>>>> Switching serial input to the first usable domain is the major >>>>>> motivation behind this patch. >>>>>> The number of times I got pinged by users with *apparent* Xen issue on >>>>>> true dom0less >>>>>> just because input was directed to dom0 which was not there (not >>>>>> everyone seems to read the >>>>>> boot logs) forced me to create this patch and manifests that this is not >>>>>> the behavior user wants. >>>>>> Switching to Xen console would not help at all. Also, we already have a >>>>>> way to set switch code to 'x' >>>>>> to default serial input to Xen. >>>>>> So I think what I did (switching to the first existing domain) should be >>>>>> the default behavior (just like it was done for dom0). >>>>> >>>>> Well, I'm not going to stand in the way, but if one of several supposedly >>>>> equal domains is to be "preferred" in some way, then I for one would >>>>> expect justification for doing so. If that's the route to go, then the >>>>> patch snippet you provided looks good to me. >>>> Well, the explanation is that we are directing input to the first existing >>>> domain >>>> which also is the first domain created (this is what users expect at least >>>> by default). >>>> This for now creates simplest/cleanest solution that matches the current >>>> behavior >>>> with dom0 and solves the users inconveniences I mentioned earlier. >>>> There is no other real preference apart from being first domain created >>>> and to help keep the order simple. >>> >>> My two cents. Given the feedback we are getting from users, I think it >>> is important that the input goes to a real valid domain (not Xen, not >>> Dom0 that doesn't exist). "Which dom0less domain?" is a valid question, >>> and I don't know what would be the best answer. But any of those domains >>> would be better than what we have today. >> >> Could boot time configuration perhaps indicate which domain to "prefer"? >> Otherwise I'm pretty inclined to suggest to make it actually random ... > Random is not great because in a system with e.g. 20 domUs and directing to > e.g. 10th domU > user would have to go through a lot of domains executing CTRL-AAA several > times. Also, for me > it would be difficult to reason about as such approach is definitely not > something users expect. > > May I ask so that we proceed with a patch I proposed to start from the first > usable domain > to match the current behavior and to help users?. In the meantime I will > start working on > a support for indicating which domain to prefer. So long as the description states clearly that the choice is arbitrary, I wouldn't (further) object to such a change. > All in all, the new patch would touch console_endboot() and not > switch_serial_input(). Of course. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |