[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] xen: Fix XenStore initialisation for XS_LOCAL


  • To: David Woodhouse <dwmw2@xxxxxxxxxxxxx>, Jürgen Groß <jgross@xxxxxxxx>, x86@xxxxxxxxxx
  • From: Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>
  • Date: Tue, 26 Jan 2021 16:36:41 -0500
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MjaBl2bwap93hpQHomgGidTwdzEE6FGZpMkG6vFc0I8=; b=eOJcn/peXpF8t/qzS6R1S648QqxBneBOteEujiqSRLkFe0LfkO/zIboVG3AE4yiwUtvF813FWQKRqa50FCNuIokQblm86EjMNijl6FraeACwEL+LkAmniZUEyzHehik0Mr64MWm/gb8VEAET4DfZwZdetLMuQxpGb9HENkrhT2F+sDKEn+0EXnjDOtlQ/gSWTw1OG6xkZ8tNtJXgL9J544yXnGdlXOoSE5lJbrAiVmXM81gTdI6TLyAquXSansBI3GnDTap4US9kM0q5DeWRaJaL8in++gL8jWVp7cqJ68B544B7n2XagJZ+dHZrFsCQkZ0OGovBuOjQ1D3lEjEg/A==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kfl8aDDHaklK/KljYpWXAasja7lTIhfcT3u3mrG9ftwhoe1R/M9RCU5oHqu6gvBj7jjXtef9tAb9gi8SGXgqQKQdUfoISe3zNsMsWo5DQ7MBYjJT8iAxVRSz2b0poddC3jZyNnM3Cu1uACdzc/FfacDjEZT6XUwqiKQAuBU2FfuOvjHqp/4XM1CINKss1gD1++9R07TAnKkeMdUGwKGmYkvZ0F96g/yZv3UoeBRKsjJquATEwSiYJRwZp0YsUw1Z9a80SV4Jd58EDXFSvmCtCXZk5737LbWq/AbDv6DBKBuRB5KvXnHBMCnTFXUCOa6jELTdcR1pJe5ZBFj+x6wArQ==
  • Authentication-results: lists.xenproject.org; dkim=none (message not signed) header.d=none;lists.xenproject.org; dmarc=none action=none header.from=oracle.com;
  • Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>, Paul Durrant <pdurrant@xxxxxxxxxx>, jgrall@xxxxxxxxxx, karahmed@xxxxxxxxx, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Tue, 26 Jan 2021 21:39:11 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>


On 1/26/21 12:01 PM, David Woodhouse wrote:
> From: David Woodhouse <dwmw@xxxxxxxxxxxx>
> 
> In commit 3499ba8198ca ("xen: Fix event channel callback via INTX/GSI")
> I reworked the triggering of xenbus_probe().
> 
> I tried to simplify things by taking out the workqueue based startup
> triggered from wake_waiting(); the somewhat poorly named xenbus IRQ
> handler.
> 
> I missed the fact that in the XS_LOCAL case (Dom0 starting its own
> xenstored or xenstore-stubdom, which happens after the kernel is booted
> completely), that IRQ-based trigger is still actually needed.
> 
> So... put it back, except more cleanly. By just spawning a xenbus_probe
> thread which waits on xb_waitq and runs the probe the first time it
> gets woken, just as the workqueue-based hack did.
> 
> This is actually a nicer approach for *all* the back ends with different
> interrupt methods, and we can switch them all over to that without the
> complex conditions for when to trigger it. But not in -rc6. This is
> the minimal fix for the regression, although it's a step in the right
> direction instead of doing a partial revert and actually putting the
> workqueue back. It's also simpler than the workqueue.


Wouldn't the minimal fix be to restore wake_waiting() to its previous 

        if (unlikely(xenstored_ready == 0)) {
                xenstored_ready = 1;
                schedule_work(&probe_work);
        }

(And to avoid changing xenbus_probe()'s signature just create a wrapper)

-boris




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.