[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] evtchn: make EVTCHNOP_reset suitable for kexec
"Jan Beulich" <JBeulich@xxxxxxxx> writes: >>>> On 25.07.14 at 17:48, <vkuznets@xxxxxxxxxx> wrote: >> @@ -954,8 +955,20 @@ static long evtchn_reset(evtchn_reset_t *r) >> if ( rc ) >> goto out; >> >> - for ( i = 0; port_is_valid(d, i); i++ ) >> - (void)__evtchn_close(d, i); >> + for ( i = 1; port_is_valid(d, i); i++ ) >> + { >> + /* >> + * Leave all interdomain connections to Dom0 untouched as we need to >> + * preserve store/console channels. >> + */ >> + chn = evtchn_from_port(d, i); >> + if ( chn->state != ECS_INTERDOMAIN || >> + chn->u.interdomain.remote_dom->domain_id != 0 ) >> + (void)__evtchn_close(d, i); >> + } > > You can't alter the behavior of an existing hypercall like this. Did > you at all check why it closes all channels, i.e. for what purpose > it got introduced? Originally I though about introducing new hypercall to cleans up all control blocks when FIFO-based event channel ABI is being used (see "[PATCH RFC] evtchn: introduce EVTCHNOP_fifo_destroy hypercall" email). Andrew and Ian convinced me to reuse EVTCHNOP_reset to be ABI-agnostic here. I'm not sure how to check the purpose of introduction but I did check that EVTCHNOP_reset is not being used neither in Linux kernel nor in http://xenbits.xensource.com/ext/win-pvdrivers/. The original commit which introduces it is: commit 115209d91bcd3734ddaaf58a4a1cdbb4c44cd4fa Author: kfraser@xxxxxxxxxxxxxxxxxxxxx <kfraser@xxxxxxxxxxxxxxxxxxxxx> Date: Fri Jan 19 17:20:57 2007 +0000 [XEN] New event-channel reset operation. Plumbed through libxenctrl to python. From: Andrei Petrov <andrei.petrov@xxxxxxxxxxxxx> Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx> It would be great if you can point out EVTCHNOP_reset usages I'm not aware of. We can revise the descision of reusing EVTCHNOP_reset in case we break things. > > And apart from that blindly leaving all interdomain channels intact > doesn't seem reasonable either. I agree here, see my reply to Andrew. We need to preserve console/store channels only and any suggestion on how to distinguish them from other interdomain mappings to Dom0 on hypervisor side are welcome. > > Jan > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel -- Vitaly _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |