From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754117AbdDLOho (ORCPT ); Wed, 12 Apr 2017 10:37:44 -0400 Received: from mail-ve1eur01on0061.outbound.protection.outlook.com ([104.47.1.61]:59679 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754106AbdDLOhk (ORCPT ); Wed, 12 Apr 2017 10:37:40 -0400 Authentication-Results: mellanox.com; dkim=none (message not signed) header.d=none;mellanox.com; dmarc=none action=none header.from=mellanox.com; Subject: Re: [v2] PCI: Add an option to control probing of VFs before enabling SR-IOV To: Bjorn Helgaas References: <1490198038-20465-1-git-send-email-bodong@mellanox.com> <20170411211211.GB14778@bhelgaas-glaptop.roam.corp.google.com> CC: , , , , Eli Cohen From: Bodong Wang Message-ID: <2e39e1b6-0205-2780-0223-3552d2c871a3@mellanox.com> Date: Wed, 12 Apr 2017 09:37:22 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <20170411211211.GB14778@bhelgaas-glaptop.roam.corp.google.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [172.87.190.14] X-ClientProxiedBy: CY1PR03CA0002.namprd03.prod.outlook.com (10.174.128.12) To VI1PR0502MB3071.eurprd05.prod.outlook.com (10.175.20.9) X-MS-Office365-Filtering-Correlation-Id: 30d7482a-628c-4b3d-6552-08d481b1763b X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:VI1PR0502MB3071; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0502MB3071;3:UN5LacH3gHmCiJ5Qg6YRw2ZWxcyW7/W9rtN/yrlZrOLLAGG+QpVyFO9Qiv9wos8DbiRecaXnJCsNxwzTdUlfgXboS0ANL/TkcMS5dwfH6A3WpzXdscxJqCtsLhTHuVvNMBSoQaduucr68biM8fNesvuPVc0ESu/f9LLnLRViEZKCyGKLEwiouIX6FZiyRa+hJ5fZa3ey0wcgncmVssCGsNUttUwzDDxh5dl2mkXjGmLhE7fBc+TaGirSLYt3SqHHE9xaSy0i+zSGyj58cGqo7uMQTX16KvLH51JfWS/9ywklO8wxAhSLPD8GK3YHe10YhMZGQY5bbn3IlKFVehIc9LlzzSXsdzyXYvh78O6DbLQ=;25:O4cjtMlH3/ZCbthZd/3hL/+I57CvCerD8isr5j/+tUOUynhmRYKojzI51QjNjx9w3yj2FH8VjLQ/mVxTxuW6p7qkeGr4Mt0/3XKCjx/GJ1o5r8auNzgPrluDpwVsMcn1RWg9RafXYPb5Oo2HODugYEV5ceRQ4rpt5xxZDTS0+o8iOy0017DbFMJhwnmrv0FUiIgea8HaUwUrBpIwuvxx+NW1Hc0cKmMhlGsg1ps6mJ6qYzm2f6ilHguuN5x9IIoI1IfPjBs12gKR11+2EMR/SRnCCiRhSDZOmeXhWIWhxiGsl+EQqdQI9VYixJv4c55z1WK4UMt+IA+e71TDfPKBbM8gi2svDXRSZsKdxHbKagN9k7TKRz0Y33R0JrbCmUVMo9CgxTH712TK2C+yP8uByMs4JWWfxmECcilhMK9Cv8W6WP5cP8iSGEYnONaBAlYqixWfGQDcz7OzrfHgLrIPGA== X-Microsoft-Exchange-Diagnostics: 1;VI1PR0502MB3071;31:PhIQfFwM0WKDWU6u5hUJzR62QpvAStVFpcvOD+/Q/QiV6JH+GUE9wcLPjRyFv8jRDh7Rja+U519nn/4AS3fss+rFNdTl7Y5G3td2EHHjYta/SORDFK3v1QRrAA/xmF3LhILpcK76gb1eIHgC1ePXPvwcWVkbPI/hZEcRHkS7SJM/7xkBtb+ZmqHm9LeJ7UWXV0ecTtEaD4TMC9m19x7hDS8Ai/1zsQWILvsGD4nWIQk=;20:n7AAoKk2uA2CvdQvUE7cvy3cX/kqvoAp//2XBVBLQFjK9Hz071W48EVm0QnKbhM7hL5qFgCpVcV2Nux5tlWBgYXOaf09vR6f3mqaX5JQUggTP24HKodJXFgH0VjRO9AKoRcDusybIG++vawzv8F7MqeWk7D43UC8k6CszY8kUbGeFsduu52TBnonIJE7doOvZSkFGDQfmFK4dJCWhJ+s1f6Oj2eKq8tjf1i5bDFIKtgtV0SpWgB3Uwb9xHadVWCbqg90jjlAxupilesiAJDzOhA2alFSs2T3ladgR92Wc21OyKU7CttSnGLAnks/YxxH8wiD3BqtYvNAwm90i6F/ZHdz8rRNyF9erNeGFuX4YSj8mKPqSeWyGI85rGkH9zgeUXWl6AY1HbCHQVNkW+Da5VNPbKccrVxDxJEGqYHr++Wma9ATLw4LdV0XaJbyphskvweGTuE5v+wADsb7uoD52X3H5fBaSqhTBO4Kc6ryVK0ks9T/Tpfl/LmLOuYnKoAJ X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123564025)(20161123560025)(20161123555025)(20161123562025)(6072148);SRVR:VI1PR0502MB3071;BCL:0;PCL:0;RULEID:;SRVR:VI1PR0502MB3071; X-Microsoft-Exchange-Diagnostics: 1;VI1PR0502MB3071;4:1iGpn3bYortZyGGANhN1WQZnK6jUZ61P5p6JSmrcAq9mThjH8idctP89soLnDmUrv8+E6GbfOF8VRBrjLFybZXowNX1LIoPiqbGC7LeTMcwEEIREVlqKXAP2C7MnR66foqr0zympFcvr+N7mqZdTBcJySWmIbtjpYJNvcsjdY0d77zf41lRKxb7LwZeiRC0WJEmkJAz1W4SHQ1tKg4aHFvu2Y3C7LxZKT/auJNqPhUC5FydlCmkPSHXTQ0qlNWkUVSL9SNnG0ktR7K8KgnemQPF32wl9onX0SJKWu15iiwky3RxEAGqhlBixhFyVPm92D11rjmvrbuUDHEqRWjMgYnU/ifLkI8xTgpX1o5HLb+aSbfjhhm6MFdzkVTr8U3L6gdc2UNRku3q90n0efT+aJg2cQoXNlXO/E9uWxjo1lEN2GOBYhmlRVZWTC5ct+bnJHfM2Js9bCFp8QKogUicQsjNukU6pMm6hlSLhXrBeOrPiEq410/CJu6EPsOpeiwHwuwhksT2MhhdMaFx39xUvIrHgvNT+PmUs2E8mvd71+RGKzDSOT6TPzPshtXHCTG47mPuvBOOo8di1SO2HyNy84USYZz12QjGgU/bmPd8ChG1wLciPlIH9fUsiGe/fG7AfVhy5hx6kJs86Gzffhoxye5EzqU20nWetIMQ0CV7pz/GBJAYRMH4Wujh0QL6WNrEXr7smXpxD9bbgjq10fw2zXs2wIGyFkbfJxtK8Z9rjUj4= X-Forefront-PRVS: 027578BB13 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(6049001)(39400400002)(39410400002)(39850400002)(39840400002)(39450400003)(39860400002)(24454002)(377454003)(7736002)(86362001)(50986999)(305945005)(76176999)(77096006)(6486002)(31696002)(4001350100001)(42186005)(90366009)(31686004)(5660300001)(54356999)(5890100001)(36756003)(2906002)(23746002)(8676002)(81166006)(47776003)(230700001)(3846002)(53546009)(6116002)(25786009)(4326008)(65806001)(66066001)(54906002)(110136004)(38730400002)(53936002)(6246003)(33646002)(50466002)(107886003)(189998001)(6666003)(2950100002)(6916009)(83506001)(229853002);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0502MB3071;H:[10.12.146.132];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1;VI1PR0502MB3071;23:ACSv0xCskrEbRke1RBvJtpLP8BiUlzp8HBv?= =?Windows-1252?Q?0/VYnPO2Kbm+/xleoAWxTsJ6TG9WwAYtmyr4fJ9hXl27b2noelPvQZQi?= =?Windows-1252?Q?43cYqWvdQ/soGoOIZhIZBID0I8lIODvGvuOgegLArvrKkpUhvlKaegkY?= =?Windows-1252?Q?xLRBBgFdYqL55X5A0T33YyrK0k0fDGxRtUpIsb9OmbyTsADX0B5yvhK9?= =?Windows-1252?Q?vW2804rauOiCXaFXbk3ORDRWY2vIbkI6I1zZ1hLFUC5P70K8BHtShGiQ?= =?Windows-1252?Q?xzUqErU269lYRJrR5XiUs1RGPapJusdd6WKCOID0lMnW09rmnxIXDik/?= =?Windows-1252?Q?65ieQjlozAaeknXmqYEYuNtLm/GGjFTq0NA6kRTSq1DKHqfE7Oyrxdec?= =?Windows-1252?Q?IW5vlVgrzJ0LLDPpbBv3QdAAjygqOYoYZ4Jfy4Ekbx19PdC+Jcz1FDTN?= =?Windows-1252?Q?0+6KyB6rtTxPe0xi3/ewYLPCD6v+QlMhSkAhJlY+am+NYEUyGrXV5y4D?= =?Windows-1252?Q?Wc76HR5v5djewoL2rhrfaoaXrDjJO5sZn97CGrCCQ7d3FvduKXe7h5h3?= =?Windows-1252?Q?EsnViQGfCQ5PquVHe+pSf8oHXwyVT91wp7RM65A0fBUs5ZvxAP601H5i?= =?Windows-1252?Q?qdLmIm4d82XXeMNs4H1c2DVLN9q3sIUr4sO5M/Lip29mitMu6KBmvsEx?= =?Windows-1252?Q?wI7ClsgcCP5/poJT9bYTDsDD2y8sE4IMJvBBBdJKbbcypk7dlUA//J5+?= =?Windows-1252?Q?5NG24D+lllOiCiOr7idA1bxgxaI0U0vIc+UsrYVoOEhRnX7ZwI3aYwT6?= =?Windows-1252?Q?kT+WiY0h7P7Ro+VZvCMCSWIRLfGtdobG3kLZ+aDvwr6Mqcm1dDSoRII8?= =?Windows-1252?Q?+p9AGXeXhDegOva4P7LDbQbRhSN7uwFt2tnczHx2ZhtWiJfznVbu7GW3?= =?Windows-1252?Q?kRlK1PA0BAeoNPR4RvV/EaTCJc4TLoDytbQk+g5H5fUJdbkc1M/+l7q6?= =?Windows-1252?Q?+Iri2xxqaNA8rfzHpyrr/IhmA7WPaFIsx3wg9TCObW3gHYlONPX3sm3t?= =?Windows-1252?Q?Q6j2FFXeJ3LrAG8JU1gYNgcvvDVeiHxwz79CyEfoIRuMYPK2VZPzaMXP?= =?Windows-1252?Q?dIk1WWEVu7BDam398lCBcRi9zKdl9tvrkyLa65lqPKe1sd49JuTXFxUo?= =?Windows-1252?Q?WQk1UcpKMyYORMHY6dQRorRE78vVOBevgI5ig7VPQ2G/MNKk4a430bWF?= =?Windows-1252?Q?xfxCpf1dtS7/SfE6x5zisQN+VLXPvqcbMOFKra6cFq+sjF8X07DarZsI?= =?Windows-1252?Q?Kl2fjaZuMUpNNxkUkSk1xNrXANcu6/FO7Ghd+2auz7COP4bMoOfABLCA?= =?Windows-1252?Q?gGhM5P8dqALA6U4rLKW7Y7j4ZzwzKjK8ELibWk/9AkxSwrsMqjtGSj3x?= =?Windows-1252?Q?uwwyN1IPGoKSIEXW6HIGb?= X-Microsoft-Exchange-Diagnostics: 1;VI1PR0502MB3071;6:3VWMSKZJdBK/ZJ2tkKjOYmFSJ2VZAinHH7sjm15+BzzJpgMCR60J8uMRIfMAtti+4ajVcjMjryht5yuvj4CgIBr8LAPo12XHDBzbL09b3IeIiNCIKSFnf3tN0Xpuz3l7u6NMZv2m9tXADdmWVOG4vZTWp1VxMjZLBNcmRimN79SUvDTxtojb/jiC9K1+HhNaQVt9hGGqE2ChgcFdhqxLeve2wAvkFAAfCuKp423LMpy0GOQfFkaY4zVLf9RD24WYuxBbFOkLL2sS76KkWuOhfl/hNE97xYSDrWyq7G6kS+tEHMq7XBF2/LBnXE8O/lUJKQALs7OeQAGuvkgCtRXm9SYld6eR3BlPXQqR6DIC1maxOG+Wakw7qn+r+QfIP0SMdSqiCSJt6PpP1R1CvjHbzqK3Qati3ORTgnSLPlC1yH1St+Rvr9tPsO4DfuFWaz799nmnkwnCf3J17BJDbl9CovWTUmysZqvLlj3P6Izcm+w=;5:MEb3dJMMeKUDLGTO5UhtRDUVkFYs1mMpUHZvmKLpglH1IFd9nBDiNvS9HnER6UZTtYEJu5+QEzWEydo0rtSitHEvrDPoDPEXF+qlXmKCwJ5pGY3fzYqE29Jy7K7suTO92Q+EZbrQqJ5mJLyUty32Na6KEqGrx4Adj6+GlHEpuTA=;24:nreLjj00/Lv3g74c0J+GsTgnYw8N1ldDfk9h5cirF7yTOEmj39JaaPcBIe2lif9OaE63xh5LjonAMA5UeP6f4V2VE6MgGli0VIGmOxx5ZB8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;VI1PR0502MB3071;7:vYUT38jVZATj7Ftk4Sb/X/bxhWJTNTWUqDReh/nor1ygqX1PD47i0giNnZ5QhT9myYh9qv2fI5FqQXl+yxCW/2idnwzbTr1JtmlpFtQJcwEUMcSPZ47NU2F4kyyWJ5jajj3c6oLm1wPiEBRfmvLbfl5zGM1yWK0FrTq6rvog+Z6vI4tK91P39cgfYvvb6Bjohvsb09MYjDMuJtZxLxt2H1q4hNxpGEGGV9Xg6B93gi0HzUPj5zFlETJT9Qv4B1j4kK9ovu0HBeJl4gfNOIM6mRoFzT5rBF9tSQKDMoH4cDqXSbx87+NB3FNVQr37I9k4/xnELQQdp/0JK9SBMqNngQ== X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2017 14:37:34.3328 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0502MB3071 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 4/11/2017 4:12 PM, Bjorn Helgaas wrote: > Hi Bodong, > > On Wed, Mar 22, 2017 at 05:53:58PM +0200, bodong@mellanox.com wrote: >> From: Bodong Wang >> >> Sometimes it is not desirable to probe the virtual functions after >> SRIOV is enabled. This can save host side resource usage by VF >> instances which would be eventually probed to VMs. >> >> Add a new PCI sysfs interface "sriov_probe_vfs" to control that >> from the PF, all current callers still retain the same functionality. >> To modify it, echo 0/n/N (disable probe) or 1/y/Y (enable probe) to >> >> /sys/bus/pci/devices//sriov_probe_vfs > Is this basically the same functionality as /sys/bus/pci/drivers_autoprobe, > but limited to a specific PF? I.e., could we accomplish the same thing > with the following? > > # echo 0 > /sys/bus/pci/devices/DDDD:BB:dd.f/sriov_numvfs > # echo 0 > /sys/bus/pci/drivers_autoprobe > # echo 2 > /sys/bus/pci/devices/DDDD:BB:dd.f/sriov_numvfs > # echo 1 > /sys/bus/pci/drivers_autoprobe > > If not, can you contrast the above with drivers_autoprobe? If we need > both, should they be named more similarly? Hi Bjorn, I agree with Alex about not using driver_autoprobe to achieve this. It will affect all pci related device once it's disabled(probably in a bad way). On the other hand, current pci driver doesn't work for this use case at all. VFs drivers(if any) will be probed once sriov is enabled no matter what. The code path is pci_enable_sriov-> pci_bus_add_device->device_attach, and drivers will be probed at the end. Drivers_autoprobe only prevents probing pci_device_add is called. This patch bounded the change to the device itself and requires no device driver update. For the name convention, it's aligned with other sriov related sysfs entries. Let me know if you have better options. Thanks, Bodong