From: Olaf Hering Subject: Re: [PATCH 3/3] xen/pv-on-hvm kexec+kdump: reset PV devices in kexec or crash kernel Date: Tue, 9 Aug 2011 11:44:43 +0200 Message-ID: <20110809094443.GD7283@aepfle.de> References: <20110804162053.723541930@aepfle.de> <20110804162054.806626433@aepfle.de> <1312881788.26263.50.camel@zakaz.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Return-path: Content-Disposition: inline In-Reply-To: <1312881788.26263.50.camel@zakaz.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Ian Campbell Cc: Jeremy Fitzhardinge , "xen-devel@lists.xensource.com" , "linux-kernel@vger.kernel.org" , Konrad List-Id: xen-devel@lists.xenproject.org On Tue, Aug 09, Ian Campbell wrote: > > static int frontend_probe_and_watch(struct notifier_block *notifier, > > unsigned long event, > > void *data) > > { > > + /* reset devices in Connected or Closed state */ > > + if (xen_hvm_domain()) > && reset_devices ?? No, reset_devices is passed as kernel cmdline option to a kdump boot. But its not part of a kexec boot. > How long should we wait for the backend to respond? Should we add a > timeout and countdown similar to wait_for_devices? Adding a timeout to catch a confused backend is a good idea. That would give one at least a chance to poke around in a rescue shell. > It's unfortunate that this code is effectively serialising on each > device. It would be much preferable to kick off all the resets and then > wait for them to occur. You could probably do this by incrementing a > counter for each device you reset and decrementing it each time a watch > triggers then wait for the counter to hit zero. That feature needs more thought. Since xenbus_reset_state() is only executed in the kexec/kdump case, the average use case is not slowed down. Olaf