From patchwork Tue Jun 6 11:05:56 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Daniel_P=2E_Berrang=C3=A9?= X-Patchwork-Id: 771782 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3whprX1YTjz9s78 for ; Tue, 6 Jun 2017 21:10:36 +1000 (AEST) Received: from localhost ([::1]:37551 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dICNd-0000w5-VB for incoming@patchwork.ozlabs.org; Tue, 06 Jun 2017 07:10:34 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:38574) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dICJO-0005hN-CB for qemu-devel@nongnu.org; Tue, 06 Jun 2017 07:06:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dICJN-0002x4-4q for qemu-devel@nongnu.org; Tue, 06 Jun 2017 07:06:10 -0400 Received: from mx1.redhat.com ([209.132.183.28]:45662) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dICJM-0002wz-Uc for qemu-devel@nongnu.org; Tue, 06 Jun 2017 07:06:09 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id F27EE83F3A; Tue, 6 Jun 2017 11:06:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com F27EE83F3A Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=berrange@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com F27EE83F3A Received: from localhost.localdomain.com (unknown [10.42.22.189]) by smtp.corp.redhat.com (Postfix) with ESMTP id C5DEE174B4; Tue, 6 Jun 2017 11:06:06 +0000 (UTC) From: "Daniel P. Berrange" To: qemu-devel@nongnu.org Date: Tue, 6 Jun 2017 12:05:56 +0100 Message-Id: <20170606110556.12922-3-berrange@redhat.com> In-Reply-To: <20170606110556.12922-1-berrange@redhat.com> References: <20170606110556.12922-1-berrange@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Tue, 06 Jun 2017 11:06:08 +0000 (UTC) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.132.183.28 Subject: [Qemu-devel] [PATCH v2 2/2] docs: document support lifetime for features X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Stefan Hajnoczi Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" There is currently no explicit guidance on the duration of support for features such as versioned machine types, which have a finite useful lifespan. Thus apps / users cannot predict how much time they might be able to use a feature for, before it is removed (if ever). This adds a new appendix that lists items which have finite lifecycles, such as machine types. For items which are generally expected to be supported indefinitely, it sets out the policy around deprecation and removal, should it be needed. Signed-off-by: Daniel P. Berrange --- qemu-doc.texi | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/qemu-doc.texi b/qemu-doc.texi index 29f89d8..e3c6400 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -37,6 +37,7 @@ * QEMU Guest Agent:: * QEMU User space emulator:: * Implementation notes:: +* Support lifetime:: * Deprecations:: * License:: * Index:: @@ -3017,6 +3018,39 @@ Run the emulation in single step mode. @include qemu-tech.texi +@node Support lifetime +@appendix Support lifetime + +Features provided by QEMU are subject to varying support lifetimes. + +In general features are intended to be supported indefinitely once +introduced. In the event that a feature needs to be removed, there +will be some period in which it will be marked as deprecated before +eventual removal. All deprecated features will be listed in the +``Deprecations'' appendix of this document. They may also generate +warnings on the console when QEMU starts up, or if activated via +a monitor command. + +Certain features will have an inherently finite lifetime, and thus +will be removed on a fixed schedule. + +@node Machine types +@section Machine types + +For architectures which aim to support live migration compatibility +across releases, each release will introduce a new versioned machine +type. For example, the 2.8.0 release introduced machine types +``pc-i440fx-2.8'' and ``pc-q35-2.8' 'for the x86_64/i686 architectures. + +To allow live migration of a guest running on a 2.8.0 release to a +2.9.0, the QEMU 2.9.0 version must support the ``pc-i440fx-2.8'' and +``pc-q35-2.8''. To allow users live migrating VMs to skip multiple +intermediate releases when upgrading, new releases of QEMU will +support machine types from many previous versions. + +The supported lifetime for machine types is 12 releases, which is +equivalent to 4 years worth of previous QEMU releases. + @node Deprecations @appendix Deprecations