Date: Tue, 21 Mar 2017 08:34:41 +0000 (UTC) From: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <royger@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r315666 - stable/11/sys/dev/xen/timer Message-ID: <201703210834.v2L8YfCD005907@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: royger Date: Tue Mar 21 08:34:41 2017 New Revision: 315666 URL: https://svnweb.freebsd.org/changeset/base/315666 Log: MFC r314094: xen/timer: mark the Xen PV timer as not safe for suspension Submitted by: Liuyingdong <liuyingdong@huawei.com> Reviewed by: royger Modified: stable/11/sys/dev/xen/timer/timer.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/xen/timer/timer.c ============================================================================== --- stable/11/sys/dev/xen/timer/timer.c Tue Mar 21 08:30:06 2017 (r315665) +++ stable/11/sys/dev/xen/timer/timer.c Tue Mar 21 08:34:41 2017 (r315666) @@ -417,8 +417,20 @@ xentimer_attach(device_t dev) /* Register the timecounter. */ sc->tc.tc_name = "XENTIMER"; sc->tc.tc_quality = XENTIMER_QUALITY; - sc->tc.tc_flags = TC_FLAGS_SUSPEND_SAFE; /* + * FIXME: due to the lack of ordering during resume, FreeBSD cannot + * guarantee that the Xen PV timer is resumed before any other device + * attempts to make use of it, so mark it as not safe for suspension + * (ie: remove the TC_FLAGS_SUSPEND_SAFE flag). + * + * NB: This was not a problem in previous FreeBSD versions because the + * timer was directly attached to the nexus, but it is an issue now + * that the timer is attached to the xenpv bus, and thus resumed + * later. + * + * sc->tc.tc_flags = TC_FLAGS_SUSPEND_SAFE; + */ + /* * The underlying resolution is in nanoseconds, since the timer info * scales TSC frequencies using a fraction that represents time in * terms of nanoseconds.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703210834.v2L8YfCD005907>