Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp4540194imm; Wed, 30 May 2018 07:29:55 -0700 (PDT) X-Google-Smtp-Source: ADUXVKKqQblcY8LXCPYaQnEM/0ddWgHDRX6zfJj0d2IcFF33ow8CgsWzKcbFvsPnRpyeAvvYxL/F X-Received: by 2002:a63:9541:: with SMTP id t1-v6mr2392611pgn.77.1527690595691; Wed, 30 May 2018 07:29:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527690595; cv=none; d=google.com; s=arc-20160816; b=jA3iP40RPKCj133K4REBGQrOSUoWF80sXqVk4GloeOXsGWfBuzSCMeq7+Yda5BMnL0 IUD9TgRA3arILLiAp+MlPrcNaJl6pgTqnCa1KLMY4iZS9W7n0opzx8KDINP/4NncAs3g w5BhCxVC3uxXl/O9rdMtfdnK+/UkSS7OPfsutcYnhR7Em3jTZtfLpGw/dAlPlj9btWzl xc/NdFQ/7c7VRiaw4e/brPY5uaPQhxJdC44e9K8/9wmjYWqjNl7ZCMXlYCaVqBSXIw47 TMEdd7IIsS4SbpJaIlgNBbRKHBOjodw41RpXrcEGlwFa5uyoDo4y+QhsWdT5sUSQibGe RZOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :from:references:cc:to:subject:arc-authentication-results; bh=KTMnsEg1tKi7P7xcBAYjNdRL/u8HLXiAVvHJWyFdvx0=; b=0WMM/EY9lY+3K77FP8Achoyidjr87P7bInASRT2GmT2+VVoWSnUTS6Geqqd9YsW87Y eaIOJhgA9L2jhU/Rt5KOF3G4ZCztkN16m2qhW5ErGb0H+wa0pwmEGam1lW+fUAE7ajsg bIr670aN6eNRanstS4IlgXG7zG8D5D4G7nDRzG5x1Mh0jPuSKQXPPpAbHkH9ytxZ7syW njsOH8GO/faCAf9KpquWSnkBrgAwMYAY7H399ig0yUIXnhATZDeGvhcPU7l3YeWdhipE zQlpNME+mYj5mfVt7pSfAF8+DQ1G9+3eHvVx47vrJMw3RbDwJfCusjI6IvfMMhcVPxXT Ns5Q== 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=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s88-v6si35047539pfe.290.2018.05.30.07.29.40; Wed, 30 May 2018 07:29:55 -0700 (PDT) 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=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751512AbeE3O3O (ORCPT + 99 others); Wed, 30 May 2018 10:29:14 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:56298 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750987AbeE3O3M (ORCPT ); Wed, 30 May 2018 10:29:12 -0400 Received: from pps.filterd (m0098409.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.22/8.16.0.22) with SMTP id w4UET7mB105600 for ; Wed, 30 May 2018 10:29:12 -0400 Received: from e31.co.us.ibm.com (e31.co.us.ibm.com [32.97.110.149]) by mx0a-001b2d01.pphosted.com with ESMTP id 2j9vngbmvg-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 30 May 2018 10:29:10 -0400 Received: from localhost by e31.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 30 May 2018 08:29:09 -0600 Received: from b03cxnp08028.gho.boulder.ibm.com (9.17.130.20) by e31.co.us.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Wed, 30 May 2018 08:29:04 -0600 Received: from b03ledav006.gho.boulder.ibm.com (b03ledav006.gho.boulder.ibm.com [9.17.130.237]) by b03cxnp08028.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id w4UET0x25701908 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=FAIL); Wed, 30 May 2018 07:29:00 -0700 Received: from b03ledav006.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 20DF6C6037; Wed, 30 May 2018 08:29:00 -0600 (MDT) Received: from oc8043147753.ibm.com (unknown [9.85.140.230]) by b03ledav006.gho.boulder.ibm.com (Postfix) with ESMTP id 7D4C6C604A; Wed, 30 May 2018 08:28:57 -0600 (MDT) Subject: Re: [PATCH v5 10/13] s390: vfio-ap: sysfs interface to view matrix mdev matrix To: pmorel@linux.ibm.com, 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, berrange@redhat.com, fiuczy@linux.vnet.ibm.com, buendgen@de.ibm.com References: <1525705912-12815-1-git-send-email-akrowiak@linux.vnet.ibm.com> <1525705912-12815-11-git-send-email-akrowiak@linux.vnet.ibm.com> <53275110-45fb-d50f-c97e-93141378f094@linux.vnet.ibm.com> <89bda651-d465-af50-a737-1900a54b01c8@linux.ibm.com> From: Tony Krowiak Date: Wed, 30 May 2018 10:28:56 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <89bda651-d465-af50-a737-1900a54b01c8@linux.ibm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US X-TM-AS-GCONF: 00 x-cbid: 18053014-8235-0000-0000-00000D9BB386 X-IBM-SpamModules-Scores: X-IBM-SpamModules-Versions: BY=3.00009098; HX=3.00000241; KW=3.00000007; PH=3.00000004; SC=3.00000264; SDB=6.01039855; UDB=6.00532245; IPR=6.00818987; MB=3.00021376; MTD=3.00000008; XFM=3.00000015; UTC=2018-05-30 14:29:07 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 18053014-8236-0000-0000-0000413DCCBB Message-Id: <6f67a282-773d-3fca-5b36-cc23ad49ba5b@linux.vnet.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2018-05-30_07:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1805220000 definitions=main-1805300161 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 05/24/2018 05:10 AM, Pierre Morel wrote: > On 23/05/2018 16:38, Tony Krowiak wrote: >> On 05/16/2018 03:55 AM, Pierre Morel wrote: >>> On 07/05/2018 17:11, Tony Krowiak wrote: >>>> Provides a sysfs interface to view the AP matrix configured for the >>>> mediated matrix device. >>>> >>>> The relevant sysfs structures are: >>>> >>>> /sys/devices/vfio_ap >>>> ... [matrix] >>>> ...... [mdev_supported_types] >>>> ......... [vfio_ap-passthrough] >>>> ............ [devices] >>>> ...............[$uuid] >>>> .................. matrix >>>> >>>> To view the matrix configured for the mediated matrix device, >>>> print the matrix file: >>> >>> This is the configured matrix, not the one used by the guest. >>> Nothing in the patches protect against binding a queue and assigning >>> a new AP when the guest runs. >>> The card and queue will be showed by this entry. >> >> Of course, as stated above, this is the matrix configured for the >> mediated matrix device. Are you suggesting here that the driver >> should prevent assigning a new adapter or domain while a guest is >> running? Couldn't this be a step in the process for hot (un)plugging >> AP queues? > > No, I mean what is the point to show this? > It is not what the guest sees. > Has it any use case? The point is to display the matrix so one can view the AP queues that have been assigned to the mediated matrix device. This is the only way to view the matrix. Do you not find value in being able to see what has been assigned to the mediated matrix device? > > >> >>> >>> >>> >>>> >>>> cat matrix >>>> >>>> Signed-off-by: Tony Krowiak >>>> --- >>>> drivers/s390/crypto/vfio_ap_ops.c | 31 >>>> +++++++++++++++++++++++++++++++ >>>> 1 files changed, 31 insertions(+), 0 deletions(-) >>>> >>>> diff --git a/drivers/s390/crypto/vfio_ap_ops.c >>>> b/drivers/s390/crypto/vfio_ap_ops.c >>>> index 755be1d..81e03b8 100644 >>>> --- a/drivers/s390/crypto/vfio_ap_ops.c >>>> +++ b/drivers/s390/crypto/vfio_ap_ops.c >>>> @@ -716,6 +716,36 @@ static ssize_t control_domains_show(struct >>>> device *dev, >>>> } >>>> DEVICE_ATTR_RO(control_domains); >>>> >>>> +static ssize_t matrix_show(struct device *dev, struct >>>> device_attribute *attr, >>>> + char *buf) >>>> +{ >>>> + struct mdev_device *mdev = mdev_from_dev(dev); >>>> + struct ap_matrix_mdev *matrix_mdev = mdev_get_drvdata(mdev); >>>> + char *bufpos = buf; >>>> + unsigned long apid; >>>> + unsigned long apqi; >>>> + unsigned long napm = matrix_mdev->matrix.apm_max + 1; >>>> + unsigned long naqm = matrix_mdev->matrix.aqm_max + 1; >>>> + int nchars = 0; >>>> + int n; >>>> + >>>> + for_each_set_bit_inv(apid, matrix_mdev->matrix.apm, napm) { >>>> + n = sprintf(bufpos, "%02lx\n", apid); >>>> + bufpos += n; >>>> + nchars += n; >>>> + >>>> + for_each_set_bit_inv(apqi, matrix_mdev->matrix.aqm, naqm) { >>>> + n = sprintf(bufpos, "%02lx.%04lx\n", apid, apqi); >>>> + bufpos += n; >>>> + nchars += n; >>>> + } >>>> + } >>>> + >>>> + return nchars; >>>> +} >>>> +DEVICE_ATTR_RO(matrix); >>>> + >>>> + >>>> static struct attribute *vfio_ap_mdev_attrs[] = { >>>> &dev_attr_assign_adapter.attr, >>>> &dev_attr_unassign_adapter.attr, >>>> @@ -724,6 +754,7 @@ static ssize_t control_domains_show(struct >>>> device *dev, >>>> &dev_attr_assign_control_domain.attr, >>>> &dev_attr_unassign_control_domain.attr, >>>> &dev_attr_control_domains.attr, >>>> + &dev_attr_matrix.attr, >>>> NULL, >>>> }; >>>> >>> >> >