From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Venkataramanan, Anirudh" Subject: Re: [Intel-wired-lan] [PATCH] intel: ice: Do not enable NAPI on q_vectors that have no rings Date: Thu, 29 Nov 2018 16:57:29 +0000 Message-ID: <1543510648.15106.13.camel@intel.com> References: Mime-Version: 1.0 Content-Type: multipart/signed; micalg=sha-1; protocol="application/x-pkcs7-signature"; boundary="=-ytNrwBfaa9bB7GT9e1OJ" Cc: "netdev@vger.kernel.org" , "intel-wired-lan@lists.osuosl.org" To: "davem@davemloft.net" , "Kirsher, Jeffrey T" , "YangX92@hotmail.com" Return-path: Received: from mga01.intel.com ([192.55.52.88]:53209 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729519AbeK3EDd (ORCPT ); Thu, 29 Nov 2018 23:03:33 -0500 In-Reply-To: Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: --=-ytNrwBfaa9bB7GT9e1OJ Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 2018-11-29 at 01:54 +0000, Yang Xiao wrote: > From: Young Xiao >=20 > If ice driver has q_vectors w/ active NAPI that has no rings, > then this will result in a divide by zero error. To correct it > I am updating the driver code so that we only support NAPI on > q_vectors that have 1 or more rings allocated to them. >=20 > See commit 13a8cd191a2b ("i40e: Do not enable NAPI on q_vectors > that have no rings") for detail. >=20 > Signed-off-by: Young Xiao > --- > drivers/net/ethernet/intel/ice/ice_main.c | 16 ++++++++++++---- > 1 file changed, 12 insertions(+), 4 deletions(-) >=20 > diff --git a/drivers/net/ethernet/intel/ice/ice_main.c > b/drivers/net/ethernet/intel/ice/ice_main.c > index 333312a..9450004 100644 > --- a/drivers/net/ethernet/intel/ice/ice_main.c > +++ b/drivers/net/ethernet/intel/ice/ice_main.c > @@ -2563,8 +2563,12 @@ static void ice_napi_enable_all(struct ice_vsi > *vsi) > if (!vsi->netdev) > return; > =20 > - for (q_idx =3D 0; q_idx < vsi->num_q_vectors; q_idx++) > - napi_enable(&vsi->q_vectors[q_idx]->napi); > + for (q_idx =3D 0; q_idx < vsi->num_q_vectors; q_idx++) { > + struct ice_q_vector *q_vector =3D vsi- > >q_vectors[q_idx]; > + > + if (q_vector->rx.ring || q_vector->tx.ring) > + napi_enable(&q_vector->napi); > + } > } > =20 > /** > @@ -2931,8 +2935,12 @@ static void ice_napi_disable_all(struct > ice_vsi *vsi) > if (!vsi->netdev) > return; > =20 > - for (q_idx =3D 0; q_idx < vsi->num_q_vectors; q_idx++) > - napi_disable(&vsi->q_vectors[q_idx]->napi); > + for (q_idx =3D 0; q_idx < vsi->num_q_vectors; q_idx++) { > + struct ice_q_vector *q_vector =3D vsi- > >q_vectors[q_idx]; > + > + if (q_vector->rx.ring || q_vector->tx.ring) > + napi_disable(&q_vector->napi); > + } > } > =20 > /** Acked-by: Anirudh Venkataramanan Thanks for the patch, Yang! - Ani --=-ytNrwBfaa9bB7GT9e1OJ Content-Type: application/x-pkcs7-signature; name="smime.p7s" Content-Disposition: attachment; filename="smime.p7s" Content-Transfer-Encoding: base64 MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIKkTCCBOsw ggPToAMCAQICEFLpAsoR6ESdlGU4L6MaMLswDQYJKoZIhvcNAQEFBQAwbzELMAkGA1UEBhMCU0Ux FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5hbCBUVFAgTmV0 d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9vdDAeFw0xMzAzMTkwMDAwMDBa Fw0yMDA1MzAxMDQ4MzhaMHkxCzAJBgNVBAYTAlVTMQswCQYDVQQIEwJDQTEUMBIGA1UEBxMLU2Fu dGEgQ2xhcmExGjAYBgNVBAoTEUludGVsIENvcnBvcmF0aW9uMSswKQYDVQQDEyJJbnRlbCBFeHRl cm5hbCBCYXNpYyBJc3N1aW5nIENBIDRBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA 4LDMgJ3YSVX6A9sE+jjH3b+F3Xa86z3LLKu/6WvjIdvUbxnoz2qnvl9UKQI3sE1zURQxrfgvtP0b Pgt1uDwAfLc6H5eqnyi+7FrPsTGCR4gwDmq1WkTQgNDNXUgb71e9/6sfq+WfCDpi8ScaglyLCRp7 ph/V60cbitBvnZFelKCDBh332S6KG3bAdnNGB/vk86bwDlY6omDs6/RsfNwzQVwo/M3oPrux6y6z yIoRulfkVENbM0/9RrzQOlyK4W5Vk4EEsfW2jlCV4W83QKqRccAKIUxw2q/HoHVPbbETrrLmE6RR Z/+eWlkGWl+mtx42HOgOmX0BRdTRo9vH7yeBowIDAQABo4IBdzCCAXMwHwYDVR0jBBgwFoAUrb2Y ejS0Jvf6xCZU7wO94CTLVBowHQYDVR0OBBYEFB5pKrTcKP5HGE4hCz+8rBEv8Jj1MA4GA1UdDwEB /wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMDYGA1UdJQQvMC0GCCsGAQUFBwMEBgorBgEEAYI3 CgMEBgorBgEEAYI3CgMMBgkrBgEEAYI3FQUwFwYDVR0gBBAwDjAMBgoqhkiG+E0BBQFpMEkGA1Ud HwRCMEAwPqA8oDqGOGh0dHA6Ly9jcmwudHJ1c3QtcHJvdmlkZXIuY29tL0FkZFRydXN0RXh0ZXJu YWxDQVJvb3QuY3JsMDoGCCsGAQUFBwEBBC4wLDAqBggrBgEFBQcwAYYeaHR0cDovL29jc3AudHJ1 c3QtcHJvdmlkZXIuY29tMDUGA1UdHgQuMCygKjALgQlpbnRlbC5jb20wG6AZBgorBgEEAYI3FAID oAsMCWludGVsLmNvbTANBgkqhkiG9w0BAQUFAAOCAQEAKcLNo/2So1Jnoi8G7W5Q6FSPq1fmyKW3 sSDf1amvyHkjEgd25n7MKRHGEmRxxoziPKpcmbfXYU+J0g560nCo5gPF78Wd7ZmzcmCcm1UFFfIx fw6QA19bRpTC8bMMaSSEl8y39Pgwa+HENmoPZsM63DdZ6ziDnPqcSbcfYs8qd/m5d22rpXq5IGVU tX6LX7R/hSSw/3sfATnBLgiJtilVyY7OGGmYKCAS2I04itvSS1WtecXTt9OZDyNbl7LtObBrgMLh ZkpJW+pOR9f3h5VG2S5uKkA7Th9NC9EoScdwQCAIw+UWKbSQ0Isj2UFL7fHKvmqWKVTL98sRzvI3 seNC4DCCBZ4wggSGoAMCAQICEzMAALP4LVwBbNmzBOoAAAAAs/gwDQYJKoZIhvcNAQEFBQAweTEL MAkGA1UEBhMCVVMxCzAJBgNVBAgTAkNBMRQwEgYDVQQHEwtTYW50YSBDbGFyYTEaMBgGA1UEChMR SW50ZWwgQ29ycG9yYXRpb24xKzApBgNVBAMTIkludGVsIEV4dGVybmFsIEJhc2ljIElzc3Vpbmcg Q0EgNEEwHhcNMTgwMjAzMDE0OTIzWhcNMTkwMTI5MDE0OTIzWjBTMSAwHgYDVQQDExdWZW5rYXRh cmFtYW5hbiwgQW5pcnVkaDEvMC0GCSqGSIb3DQEJARYgYW5pcnVkaC52ZW5rYXRhcmFtYW5hbkBp bnRlbC5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2F7YFS2HtPqZ7g+dbUopN G5+whAsBNHPs7tNMq+vnyqYvAiNaSVgcdIinobimjfXSddhQVNO+FZ5FsH40TiPlzqXCkNVnXnOM OTYvLonxVdcymmi6Qa9bTm6Tkscx4Jhrk7ed9rhEt1rs55uf53Io/Up2bJ/NCUttt0R1zIOMkXXZ v5n2b/QrM6bhVWxZsc8n/dQXTRDtw8fe+UblQMyLG8aNDlcBP+jZKxMQE1B00QMFoxgUh4xhRpqP /LtIk4iBKWhqSRSc0yjVOL2HdVQN8wa1W3Lnsu0znPNFNIBxs9xRpvtjjQ+GIo4gWCOTuSkgqSdZ Q/krdi2WdSpMN/abAgMBAAGjggJDMIICPzAdBgNVHQ4EFgQUjd2Su1q/myoK8Zv2QvQF+wlANAYw HwYDVR0jBBgwFoAUHmkqtNwo/kcYTiELP7ysES/wmPUwZQYDVR0fBF4wXDBaoFigVoZUaHR0cDov L3d3dy5pbnRlbC5jb20vcmVwb3NpdG9yeS9DUkwvSW50ZWwlMjBFeHRlcm5hbCUyMEJhc2ljJTIw SXNzdWluZyUyMENBJTIwNEEuY3JsMIGfBggrBgEFBQcBAQSBkjCBjzBpBggrBgEFBQcwAoZdaHR0 cDovL3d3dy5pbnRlbC5jb20vcmVwb3NpdG9yeS9jZXJ0aWZpY2F0ZXMvSW50ZWwlMjBFeHRlcm5h bCUyMEJhc2ljJTIwSXNzdWluZyUyMENBJTIwNEEuY3J0MCIGCCsGAQUFBzABhhZodHRwOi8vb2Nz cC5pbnRlbC5jb20vMAsGA1UdDwQEAwIHgDA8BgkrBgEEAYI3FQcELzAtBiUrBgEEAYI3FQiGw4x1 hJnlUYP9gSiFjp9TgpHACWeB3r05lfBDAgFkAgEJMB8GA1UdJQQYMBYGCCsGAQUFBwMEBgorBgEE AYI3CgMMMCkGCSsGAQQBgjcVCgQcMBowCgYIKwYBBQUHAwQwDAYKKwYBBAGCNwoDDDBdBgNVHREE VjBUoDAGCisGAQQBgjcUAgOgIgwgYW5pcnVkaC52ZW5rYXRhcmFtYW5hbkBpbnRlbC5jb22BIGFu aXJ1ZGgudmVua2F0YXJhbWFuYW5AaW50ZWwuY29tMA0GCSqGSIb3DQEBBQUAA4IBAQAFsnnyo3ix 0y3ZEIZIbdGwZankMrMPDVhiZ3PkbuGrNnB5TLDovfHY/tXrU6VQCRVK5yww/QlCXmGedpunyoio 5ZRDV2O1xA/DgA1ezipDRn+o+6DltF9MMyJN1pk1XyT3jTpNVLcuN8oVbIB87BxIhYnXaM0mfRP4 ilWzQ8EgfH9Byhtgryo55jtOLkj21F1t7a5BSrT3zgpmWljWV1tNeiPVZc+dK659cMo/IfNSody5 1+/tbaDk5dKsaLyFYkvUKBPFQvb17VNANyN43R4gpjEqvTOg+VSE/Q8B1o8/FXRgbXi+57SDmfq3 H5ocL66Zcu1tUeNBlpw5DtFFnnoKMYICFzCCAhMCAQEwgZAweTELMAkGA1UEBhMCVVMxCzAJBgNV BAgTAkNBMRQwEgYDVQQHEwtTYW50YSBDbGFyYTEaMBgGA1UEChMRSW50ZWwgQ29ycG9yYXRpb24x KzApBgNVBAMTIkludGVsIEV4dGVybmFsIEJhc2ljIElzc3VpbmcgQ0EgNEECEzMAALP4LVwBbNmz BOoAAAAAs/gwCQYFKw4DAhoFAKBdMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcN AQkFMQ8XDTE4MTEyOTE2NTcyOFowIwYJKoZIhvcNAQkEMRYEFHNiVoOunpuxQd9hUniebCVoNppW MA0GCSqGSIb3DQEBAQUABIIBAJ/0+J0OEZeOHJPfPIjUoapN0qriTNHqgLgonpxW2IgKPnAgb+3A 6KjajwU6tdsus6UaD3QmDISTryrxQ8M7MOdn9byLIrmSz6eHSzMudrGJknkLApBqN8KH/yOlwiPM LyOoxwqWwXVV2Xvygtls7XfXLTwSUuUla8LQ4F3G7CF35YT85IeQWXSKO/NsBn1+LbODwTzWoURh TdyT5AsiO5nuU5bc/MycgOf1D2/ucJtFVzZhF9gnmkYPVFD02LltYbBc4Is2vzFZ4BxpkD/qVALs /sI6NHeUNMdu4JZa5pXefkXkeCy3a6ynzKDXboKY9ZqXPLELFwXupaN8uxS8Y3oAAAAAAAA= --=-ytNrwBfaa9bB7GT9e1OJ--