From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752725AbbIPLqA (ORCPT ); Wed, 16 Sep 2015 07:46:00 -0400 Received: from mail-ig0-f181.google.com ([209.85.213.181]:38899 "EHLO mail-ig0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751934AbbIPLp6 (ORCPT ); Wed, 16 Sep 2015 07:45:58 -0400 Subject: Re: First kernel patch (optimization) To: Steve Calfee , Eric Curtin References: <1442346808-3784-1-git-send-email-ericcurtin17@gmail.com> Cc: Valentina Manea , shuah.kh@samsung.com, USB list , Kernel development list From: Austin S Hemmelgarn Message-ID: <55F95671.6060405@gmail.com> Date: Wed, 16 Sep 2015 07:45:53 -0400 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms090705020905040500010600" X-Antivirus: avast! (VPS 150915-1, 2015-09-15), Outbound message X-Antivirus-Status: Clean Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This is a cryptographically signed message in MIME format. --------------ms090705020905040500010600 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable On 2015-09-15 20:09, Steve Calfee wrote: > On Tue, Sep 15, 2015 at 12:53 PM, Eric Curtin = wrote: >> Signed-off-by: Eric Curtin >> >> diff --git a/tools/usb/usbip/src/usbip_detach.c b/tools/usb/usbip/src/= usbip_detach.c >> index 05c6d15..9db9d21 100644 >> --- a/tools/usb/usbip/src/usbip_detach.c >> +++ b/tools/usb/usbip/src/usbip_detach.c >> @@ -47,7 +47,9 @@ static int detach_port(char *port) >> uint8_t portnum; >> char path[PATH_MAX+1]; >> >> - for (unsigned int i =3D 0; i < strlen(port); i++) >> + unsigned int port_len =3D strlen(port); >> + >> + for (unsigned int i =3D 0; i < port_len; i++) >> if (!isdigit(port[i])) { >> err("invalid port %s", port); >> return -1; >> >> -- > > Hi Eric, > > This is fine, but what kind of wimpy compiler optimizer will not move > the constant initializer out of the loop? I bet if you compare binary > sizes/code it will be exactly the same, and you added some characters > of code. Reorganizing code for readability is fine, but for compiler > (in)efficiency seems like a bad idea. While I agree with your argument, I would like to point out that it is a = well established fact that GCC's optimizers are kind of brain-dead at=20 times and need their hands held. I'd be willing to bet that the code will be marginally larger (because=20 of adding another variable), but might run slightly faster too (because=20 in my experience, GCC doesn't always catch things like this), and should = compile a little faster (because the optimizers don't have to do as much = work). --------------ms090705020905040500010600 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 cnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcN AQkBFhJzdXBwb3J0QGNhY2VydC5vcmcCAxBuVTANBglghkgBZQMEAgMFAKCCAiEwGAYJKoZI hvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0BCQUxDxcNMTUwOTE2MTE0NTUzWjBPBgkq hkiG9w0BCQQxQgRAcYxokCABQJccLNf4YjDOTe4CXWhyjUv0cEEGEQOb4n5OQznkyfIOxY1L eqO4DgqqGf/PKYHOusweFU3cYcNZoDBsBgkqhkiG9w0BCQ8xXzBdMAsGCWCGSAFlAwQBKjAL BglghkgBZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFA MAcGBSsOAwIHMA0GCCqGSIb3DQMCAgEoMIGRBgkrBgEEAYI3EAQxgYMwgYAweTEQMA4GA1UE ChMHUm9vdCBDQTEeMBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlD QSBDZXJ0IFNpZ25pbmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2Vy dC5vcmcCAxBuVTCBkwYLKoZIhvcNAQkQAgsxgYOggYAweTEQMA4GA1UEChMHUm9vdCBDQTEe MBwGA1UECxMVaHR0cDovL3d3dy5jYWNlcnQub3JnMSIwIAYDVQQDExlDQSBDZXJ0IFNpZ25p bmcgQXV0aG9yaXR5MSEwHwYJKoZIhvcNAQkBFhJzdXBwb3J0QGNhY2VydC5vcmcCAxBuVTAN BgkqhkiG9w0BAQEFAASCAgB9zvanI8kCRg55O4N3CZ74zabUDeZNhdbM0w+g6TpgkjKJ83Rw ZBajjqHb1KRxLXxaTzv19NbaUBKVPNgWdekdxjZH02J1YtryQ24YpZLDjUh8W0NNUvQuh4CL DgopMpwzCbwM7Pj5e382GRpMncRL8P6E9XTD2p5rN1DyTgd0/zkt5epb0JXYpgTUI55LT5w4 h3PMKRyhLR0yncpNo+/UtRgZGtbimzBHccVzV7Pv7dnb1ku3e6ijKLbozXe+mpufsvJEZ+Pm 4DrXP5EU/ICDCg5tbWjEg1lQ6Yo8m5uuRFKnJ5iDkbku4amBSLg7CGcdJactYPw5ukakiUgE Yxsy+BWuDFWVamCLQbQBe3NQ9qy+x8eboLILHa+Ye/Z+cPYuVhFIsBDYIUlMiWdarwtL9AQr 9CYX9qgSJYHoP59dzheKY82BCoigHGxLRNtKqrDBYyJSzlVR95VhYe7PLa5WEE0omR//zssE jv9K9/1ku+W0RwY8Vf2Udu4Hb3kQsTQkrd3QxkZZ4dNsXaZu5GZEzKQc0cQ4NCLayTxXS3x0 ZnjtpoUUM3rh0IB1t3/h7rT8HPEuQWv/7Vx5jQ8HTWOLXwbMekoT7LsjD22ezye9ozHM0d+n AhmFp1aHSeDlciWwLFDmRwuc4BRWyku9OVfITg8eK4AS0V18lF0pSRod/AAAAAAAAA== --------------ms090705020905040500010600--