Received: by 10.223.185.116 with SMTP id b49csp8463818wrg; Fri, 2 Mar 2018 02:10:42 -0800 (PST) X-Google-Smtp-Source: AG47ELtO9A86GxqFPM7AZh0zusnyOxbnHT4/0egG+C5fIJKcg+WxHudDTRM+OgTQnH8B7i0sg47Z X-Received: by 10.98.77.194 with SMTP id a185mr5172859pfb.123.1519985442103; Fri, 02 Mar 2018 02:10:42 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1519985442; cv=none; d=google.com; s=arc-20160816; b=hSPq7ivsQgxwr56kN7bX+pcwVAkm/fvwX9YLNOLvtRmTW55euB4oOS0zZbn/lxHxr7 NroTBGSZ/CkxSKzA0DtOItnjYdX3uMtoMtM5W6IieqzBpNjZHqrULwZsB+7aANxsoI7k xR06WkIXML0svFt3wCWuSLJZnNzUePpqTr7IiEWhoBdIrhYPhmXhfUArQ2GNEmOsx8pM 4ufDzi/zRCv0XcrNLZdOvUb0MgIWfDME9WucBReTXT0FfNJwrxZ2GDOES6l2UnhVgNIu H9uw+/HEJ6BtQ3z7WgE8jVNIWz9r31XN2RUEO5X6ksi1atCOaoOMEmffTjLzN8j83Ajd 9IxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:organization:from:references:cc:to:subject :arc-authentication-results; bh=QH3Rs9xglJgfmInG5A48ii1HFAW1PcbLUdeL5BFVIBA=; b=hUl2hC7lgp3csA7jD/DWz/Sw52cYq2L4MpxamMX1V8EVf02OlN+trudQBACel3BUZT UVDcSqXep6dOU2TFuU6e57bsx00rpLGKOuxqxLFL3yCsT84/H0GyfmdkiBR9zWDythso alCBGitdjnuw979yK/iDAqxiGwV4UPLvLPqQZBokl6zD8XSFPG7L4QpG6W2NrSMGDpLf QDMJXQ2Y9AkJrXo5H0ZjGCIqvVlll+aQRuSyE9QuhlnAf66kqImai3gWSIqFEClEaGp7 fuNvtZoJnRw6KRRz6Btq9LkzgDoDqSN1tdWxMwXEXIJxuO6xW/YS/Hm0YYLvs5thgxcc pshw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h1si3796439pgp.637.2018.03.02.02.10.27; Fri, 02 Mar 2018 02:10:42 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1426180AbeCBKIr (ORCPT + 99 others); Fri, 2 Mar 2018 05:08:47 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:38938 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1424324AbeCBKIT (ORCPT ); Fri, 2 Mar 2018 05:08:19 -0500 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C49614075168; Fri, 2 Mar 2018 10:08:18 +0000 (UTC) Received: from [10.36.116.52] (ovpn-116-52.ams2.redhat.com [10.36.116.52]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5753C94562; Fri, 2 Mar 2018 10:08:13 +0000 (UTC) Subject: Re: [PATCH v2 13/15] KVM: s390: Configure the guest's CRYCB To: Tony Krowiak , linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org, kvm@vger.kernel.org Cc: freude@de.ibm.com, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com, borntraeger@de.ibm.com, cohuck@redhat.com, kwankhede@nvidia.com, bjsdjshi@linux.vnet.ibm.com, pbonzini@redhat.com, alex.williamson@redhat.com, pmorel@linux.vnet.ibm.com, alifm@linux.vnet.ibm.com, mjrosato@linux.vnet.ibm.com, jjherne@linux.vnet.ibm.com, thuth@redhat.com, pasic@linux.vnet.ibm.com, fiuczy@linux.vnet.ibm.com, buendgen@de.ibm.com References: <1519741693-17440-1-git-send-email-akrowiak@linux.vnet.ibm.com> <1519741693-17440-14-git-send-email-akrowiak@linux.vnet.ibm.com> <99b24fc7-3df9-6620-d1df-917214fbdda2@redhat.com> <081eab40-0bbd-5842-76bc-2974f4544529@redhat.com> <4763e223-1c78-c9a3-42bc-2d3569a716ff@linux.vnet.ibm.com> From: David Hildenbrand Organization: Red Hat GmbH Message-ID: <56f576ba-4eee-696e-45aa-f4db1e96bd57@redhat.com> Date: Fri, 2 Mar 2018 11:08:12 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <4763e223-1c78-c9a3-42bc-2d3569a716ff@linux.vnet.ibm.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Fri, 02 Mar 2018 10:08:18 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.7]); Fri, 02 Mar 2018 10:08:18 +0000 (UTC) for IP:'10.11.54.5' DOMAIN:'int-mx05.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'david@redhat.com' RCPT:'' Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01.03.2018 21:42, Tony Krowiak wrote: > On 03/01/2018 04:37 AM, David Hildenbrand wrote: >> On 28.02.2018 21:45, Tony Krowiak wrote: >>> On 02/28/2018 04:49 AM, David Hildenbrand wrote: >>>>> +static int vfio_ap_mdev_open(struct mdev_device *mdev) >>>>> +{ >>>>> + struct ap_matrix_mdev *matrix_mdev = mdev_get_drvdata(mdev); >>>>> + unsigned long events; >>>>> + int ret; >>>>> + >>>>> + matrix_mdev->group_notifier.notifier_call = vfio_ap_mdev_group_notifier; >>>>> + events = VFIO_GROUP_NOTIFY_SET_KVM; >>>>> + ret = vfio_register_notifier(mdev_dev(mdev), VFIO_GROUP_NOTIFY, >>>>> + &events, &matrix_mdev->group_notifier); >>>>> + >>>>> + ret = kvm_ap_configure_matrix(matrix_mdev->kvm, >>>>> + matrix_mdev->matrix); >>>>> + if (ret) >>>>> + return ret; >>>>> + >>>>> + ret = kvm_ap_enable_ie_mode(matrix_mdev->kvm); >>>> Can't this happen while the guest is already running? Or what hinders us >>>> from doing that? >>> I'm not sure exactly what you're asking here. Are you asking if the >>> vfio_ap_mdev_open() >>> function can be called multiple times while the guest is running? AFAIK >>> this will be >>> called only once when the mediated device's file descriptor is opened. >>> This happens in >>> QEMU when the -device vfio-ap device is realized. >> Okay, but from a pure interface point of view, this could happen any >> time, even while the guest is already running. Patching in the SCB of a >> running VCPU is evil. > How can this happen while the guest is running? QEMU opens the fd when the > device is realized and AFAIK vfio mdev will not allow any other process to > open it until the guest is terminated. What am I missing? It can't happen right now (the way QEMU uses it), but the kernel interface allows it, no? Anyhow, as discussed this should be handled directly while creating a VCPU. Then also CPU hotplug is properly covered. -- Thanks, David / dhildenb