Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp453178rdg; Tue, 10 Oct 2023 15:50:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHu/FkCAL8vUA4JlGTxOQsepisbqwD/+6hxCuHLgsnc46FFjEKtmmL20MdbDvv0z7RnXQ5e X-Received: by 2002:a9d:7509:0:b0:6bc:bd1a:26d with SMTP id r9-20020a9d7509000000b006bcbd1a026dmr17703757otk.15.1696978202596; Tue, 10 Oct 2023 15:50:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696978202; cv=none; d=google.com; s=arc-20160816; b=C3CCiI0n1g+pw+qR7ZDm6qJtfxdySxwaN/J+RMUaVC3CgEK0qco/1vWZFI9vq7cdp4 2pR91oGbQKxK4zXI+LGHGLmHBxUfZ1kWM6Os4sIqGl5jYwWzbXu63RKTmHInJjXfkWcg aD/7IC+TPqGLZa9tyrIbk7PL6SG3yDlwx+cLAUbF95NNjEdWKlm7okMM+UuRowDt2zBK Ul9dviYu18umMnIN6O6WB27n7iEOCfS0bZGfc7kRuGcdkWaqReJ3P6k311vqizpfQSwS vgYt04SJd/cmJwiFQH9zP8+8uNe1I7ZhE3jGb6/kfLkS6VVZvGTbXT+hNZ2pMMR/GCfF Zn9Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to :content-language:references:cc:to:from:subject:user-agent :mime-version:date:message-id:dkim-signature:dkim-filter; bh=xNLCGvZHdU71qjHxRgA/1TNMVCHTexDMo8D59LMp6BY=; fh=4IeBZmlOVToLc/pN4Fsijk40AHTc2siBePJ4bkaQO4M=; b=DbrcsQxT7g+1dpXa9bUjqCUdh7gR/cEMGOQposJGJ77FAYaw4lGADilYBIlFBtfuzs 2bWIHipejpDKsoj0+LTmzFOWv6EBvDi9drBNQEn94lzgXMXLx8uGgLee8CVlIKTcnJms WLF5TkR9PoulUjxoClBZDG5X0s2F2Gs7SWPDHW5hXrSyvJxZhSOJZGospAzuv1EqAqGF dcSwtC61UtQPw3QQnQJViWjDlSivlVfFVP8TxfQXux5aDEcaLS7gIV6HsK35ErkxUjHU 9zpJ2ZS7GCLazjXjmKmlK+qdPghMw1KJrZl/TESPj/B4hviSo/S1R+pyi7+6VBhnsidw hNAQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=CEl3o74J; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Return-Path: Received: from agentk.vger.email (agentk.vger.email. [2620:137:e000::3:2]) by mx.google.com with ESMTPS id d19-20020a637353000000b0059b950975b9si2671523pgn.534.2023.10.10.15.50.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Oct 2023 15:50:02 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) client-ip=2620:137:e000::3:2; Authentication-Results: mx.google.com; dkim=pass header.i=@linux.microsoft.com header.s=default header.b=CEl3o74J; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:2 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linux.microsoft.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by agentk.vger.email (Postfix) with ESMTP id 3333780E6CBB; Tue, 10 Oct 2023 15:50:00 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at agentk.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230347AbjJJWtw (ORCPT + 99 others); Tue, 10 Oct 2023 18:49:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:54854 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233161AbjJJWtv (ORCPT ); Tue, 10 Oct 2023 18:49:51 -0400 Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 4D5A792; Tue, 10 Oct 2023 15:49:50 -0700 (PDT) Received: from [10.0.0.178] (c-76-135-56-23.hsd1.wa.comcast.net [76.135.56.23]) by linux.microsoft.com (Postfix) with ESMTPSA id 3767820B74C0; Tue, 10 Oct 2023 15:49:49 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 3767820B74C0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com; s=default; t=1696978189; bh=xNLCGvZHdU71qjHxRgA/1TNMVCHTexDMo8D59LMp6BY=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From; b=CEl3o74J71QRcTdLqoPV7RImMOc17eR9UZgEQBih57CS6OUtzd9dL6Gs4mbxNvO4p UIGFgIlIptnNftQv2rfctEATzmbOcxvAV8WIaaWIZUVN/syakprhhgeazRrZAbou1J gyp8QkiN9EbrL3jsNwha+VZMO9D8arS1yiysou0c= Message-ID: <50f1721f-64fb-49ff-9740-0dac7cf832c8@linux.microsoft.com> Date: Tue, 10 Oct 2023 15:49:48 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2 13/15] uapi: hyperv: Add mshv driver headers hvhdk.h, hvhdk_mini.h, hvgdk.h, hvgdk_mini.h From: Nuno Das Neves To: Greg KH , Wei Liu Cc: linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org, x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-arch@vger.kernel.org, patches@lists.linux.dev, mikelley@microsoft.com, kys@microsoft.com, haiyangz@microsoft.com, decui@microsoft.com, apais@linux.microsoft.com, Tianyu.Lan@microsoft.com, ssengar@linux.microsoft.com, mukeshrathor@microsoft.com, stanislav.kinsburskiy@gmail.com, jinankjain@linux.microsoft.com, vkuznets@redhat.com, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com, will@kernel.org, catalin.marinas@arm.com References: <1692309711-5573-1-git-send-email-nunodasneves@linux.microsoft.com> <1692309711-5573-14-git-send-email-nunodasneves@linux.microsoft.com> <2023081923-crown-cake-79f7@gregkh> Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on agentk.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (agentk.vger.email [0.0.0.0]); Tue, 10 Oct 2023 15:50:00 -0700 (PDT) On 8/25/2023 11:24 AM, Nuno Das Neves wrote: > On 8/19/2023 3:26 AM, Greg KH wrote: >> >> My "strong" opinion is the one kernel development rule that we have, >> "you can not break userspace". So, if you change these >> values/structures/whatever in the future, and userspace tools break, >> that's not ok and the changes have to be reverted. >> >> If you can control both sides of the API here (with open tools that you >> can guarantee everyone will always update to), then yes, you can change >> the api in the future. >> > > This is true for us - we contribute and maintain support for this driver > in Cloud Hypervisor[1], an open source VMM. > Hi Greg, Bringing up this discussion again so we can clear up any confusion on the uapi headers in this patch set. The headers consist of the ioctls in mshv.h, and the hypervisor ABIs in the *hdk.h files. The ioctls depend on the hypervisor ABIs. We will add (to the next version), an ioctl like KVM_GET_API_VERSION [1]. This will return a version number for the ioctl interface that increments any time there is a breaking change. Userspace would be required to check this before calling any other ioctl, and it can exit gracefully if there is a mismatch. That's how KVM evolved its userspace ABI. We want to use the same approach. I also wanted to reiterate that we are the only maintainers and users of the userspace code for this driver via Cloud Hypervisor [2]. We generate rust bindings from these headers using bindgen [3]. Taking this into account, is the above a viable path for this patch set? Thanks, Nuno [1] https://docs.kernel.org/virt/kvm/api.html#kvm-get-api-version [2] https://github.com/cloud-hypervisor/cloud-hypervisor [3] https://github.com/rust-lang/rust-bindgen