From patchwork Fri Sep 1 19:40:50 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Steve Ellcey X-Patchwork-Id: 808982 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-84113-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="Dv2QNHqq"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xkV3W4wgyz9sQl for ; Sat, 2 Sep 2017 05:41:11 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:subject:from:reply-to:to:date :content-type:mime-version:content-transfer-encoding; q=dns; s= default; b=AKovC1rAQ8Ljro1RNtv6Tthcb9iTtrnu4UIxqpnrohV8aZaNT+N6t jSlI/lLTTfgp8/FKifo/0Nzc8HArq2koaz7lNpYGc5Q/f3jfTk6VO/PXtjdMrZii w4lSwEXKqX8jrUWDn1yXuBaFU6DYoKs9TDpf+khHBf8bdcrp9snbL4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:message-id:subject:from:reply-to:to:date :content-type:mime-version:content-transfer-encoding; s=default; bh=e55NHqSmG+eH5L6Us0XVTO0K4TI=; b=Dv2QNHqqk5GlIhuWQ2BnHbgpI7FO E1O0Nn57+XdVD3rSk3SSyaXdeSq3U9Bl4Ka6s2mZlws+IyBm3C+uZwR+EIILi3uU 1VWncN8qLhZR2VJs0dOFpbDWkOHGi8utp0iPegIDv1i8AJVjEhfuAxV7lJoy+Rq0 +2mRN8g2dk5g1r4= Received: (qmail 88333 invoked by alias); 1 Sep 2017 19:41:04 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 88252 invoked by uid 89); 1 Sep 2017 19:41:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.2 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= X-HELO: NAM03-CO1-obe.outbound.protection.outlook.com Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Steve.Ellcey@cavium.com; Message-ID: <1504294850.3182.66.camel@cavium.com> Subject: [PATCH][aarch64] Fix glibc.tune.cpu tunable handling From: Steve Ellcey Reply-To: sellcey@cavium.com To: libc-alpha Date: Fri, 01 Sep 2017 12:40:50 -0700 Mime-Version: 1.0 X-ClientProxiedBy: MWHPR1601CA0015.namprd16.prod.outlook.com (10.172.93.25) To DM5PR07MB3547.namprd07.prod.outlook.com (10.164.153.145) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b1815d10-6b06-4ca5-a0b1-08d4f1715f02 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM5PR07MB3547; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3547; 3:eq1zONaOC0RzSuTr8iN5fzjWcKeqlxj6z0Kelk82V26i3+cLV2oi8sotiZCEjWcPEGD1cXMleIbwd732q2f7u99YqktAY2eKK5hWOKHDHE06JyFx8oD0vaF7DJh3ppa/B5eKGfPde5O61f55dq+Ets+pdplYU0bGBWZd89sRsdidUI8tF4X1DZw7ifFj07JpfF1JH5YRGhe6x7AkIdJ1lseRhTCVZu15mKLDZ5XWqXxayeg3l9qPXh7630cP53Oq; 25:06OgmhHtm6DZH7W6pyBRPTfOUzJ2Sbslz6LAru5YArO239GQDvSNCZVyjd8qEDcWid9BTrUo8ahocB780vAhv20f/Msjfym5NJgLBkSB8Mfr/zTGDfhS62MR/c+HQ1jceGT4qzAjOEW7/lTqUl270LCtSEQZqC3e8nl6BJqWn377GRFRR1WVQt0YUOEhQdgTyFXGZLO5/0Xl1Ib9ikzipssFvEO4T9pj2KZU31fNA4reTRkGVvxwvvQU/4lnLZco0UA2oCBnFslv3BQOCCn3No+vwffS+bWrm2Hn/3HTg8h998W7qav8+t+7zZWWmHlxkUMOBfKts0zua+GYroB8Ww==; 31:MZSRybrPonetmhK3cMy9vgEAhtPQhsmZvkJY8qsanOPMjbRj3YdwQ3L3rgVSfpN6HdiOFFT5lFFcTH9T5dQQXQsJthD9seh+jH1KJJTi5cgzsoJ+gFkl31j5UajvL/D+PP8aN50tyH58984YwxAynw8kXDsRvxECdyqAoqhzZFELQu61GqG1gISffWN1OnpLCFEbW2VF1v+Dr7CsDLsU/lTEcFA4XxlEjJ3VVXZSZoQ= X-MS-TrafficTypeDiagnostic: DM5PR07MB3547: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3547; 20:KrLjSqPfHIkDRzMjiCfyYRKEdPVl9Xk9QTGABOAKFJT3MnhD3syK/L3i5Klyc9FMuhJZNNlIZ6G45g2A9LZnE1Ve2aBiuPOBHiNEh2BVMZjrpHR3+oW8b9cG2iXgceKMJiuso2R+UjYeuqaolP5Ib5OO+Wo51ukOqXd+5h0lAqOdqYp6bvUFaa62y+Jc5IGdt1bFfdgGnYNplkOy149TPtOatgf4c2S6LvzIPX8ppmZ1AQCz7z5zfTSWbvuOM2RrDg1auyXMFGhHVcfT1fYQ7ozw1rImqqn5khXl7VCw7Gqj3tsSmileEzR+31VhbQcYSsv3bfUrUMIMxvHupoJPjAN2Ihp6lK375Hn1OynxOzf6aA+Y1/2pDnu2bSLJ3LbF6BDyGTE4PaIptTsPH13/i9MQabQ2cTwk6eEFPGrnTYimHEvZw10B6zELMyAZSGrwbHdYJZSr613FEpUT4OJwo9DSeeO8k2Ru4yhzCfjmh4qmjlzxZiK1oANNvaDWtOPG; 4:59vE6h7Hoo4OuBJ5rzYYtXtdX6anPE6O0C93Zd9vizccUohJkKsKLq8yKKHWxgF0n93uTke0IVFy+sgurIUJvm2ezasqqoYgLQMid4SeqoB+hOcihwJRL1nvepn7HqZicrkUAVF1roniGwqxHteNZVcBaTAqerYUcdn8YdrVLnwYLooDKW4N0iMtwXQSISESZOsH0DtZpzu7iiKLKALf7t75ORiFwNWoZXjSxhkpLVXnmE4ZM0vPxBRdiW2GtIHe X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(93006095)(93001095)(10201501046)(3002001)(6041248)(20161123560025)(20161123555025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR07MB3547; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR07MB3547; X-Forefront-PRVS: 0417A3FFD2 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(6009001)(377424004)(189002)(199003)(103116003)(72206003)(8936002)(25786009)(3450700001)(36756003)(66066001)(69596002)(43066003)(189998001)(23676002)(5820100001)(110136004)(478600001)(6512007)(97736004)(101416001)(50986999)(53936002)(3846002)(2906002)(6116002)(42186005)(50226002)(6916009)(53416004)(106356001)(81156014)(81166006)(105586002)(33646002)(68736007)(50466002)(6506006)(5660300001)(6666003)(47776003)(305945005)(6486002)(2870700001)(7736002)(8676002)(99106002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3547; H:sellcey-dt.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?q?1=3BDM5PR07MB3547=3B23=3A2OOs?= =?utf-8?q?GKZw0n1ZID+ZXA3nUIA4bmdVqhq3TEfNL2Gxc9vnVvsCX4xaqy04SUWZ?= =?utf-8?q?vK5tiVf4QD1q9/dgSInoQNr8ARunKyq3uIqC1DEvmmgoLK2Rnj9jbGcn?= =?utf-8?q?HafT/0gX9Tnv9V+OyB2+ZbwiAu308FDvRIkkfeMGYfSsH4dMm5Sagzh2?= =?utf-8?q?A81Mq6gjLZGwfs+vTdzY/hdYekpVY85OfOobYh9vPqcxLUyMTte9z1yy?= =?utf-8?q?SNy0GFcMFoztAcIDuFizJZhe9Ujo8icMZ1blMmD3qCvqocJq3gICsQyQ?= =?utf-8?q?8dbsrXtyz5Zu3hsNGXYMck6unaFngKPnFJhnmLW+gvx2Vt76US7rwk9/?= =?utf-8?q?vh3RRofKNzIstfkauA3vnjwsNWil9FgGF3V6Pa1BuFKFcELTA7G1bYHl?= =?utf-8?q?Z2gwDzocItXhl34YWceRrvuzF9FD3Q5a15F9wis9W8sjU6LCP327p3VE?= =?utf-8?q?+c0ZU4KHtlyy09SglYil4Hciq7u3p2BcnUO8JMxHYRS2LXFNr6mPJSrK?= =?utf-8?q?p/s/hcxsOO8RTL8dzXp/56LyeFcSH1Vbs0s32TMLpm75XCdejWRh+wgn?= =?utf-8?q?qecpBNRMrwAQxV+w8B5hQsfMCwawtCYSbZDT8NOsBBLHKJsxqZ8Suj6n?= =?utf-8?q?cFK/TS01jMbBQyVbA+J5xsYfWf4ed8PcTjUymAYdQSQ/HVvIwJKILu84?= =?utf-8?q?Ma08QNOOfZId1YFiv0mryDKZXfqQMVuRK0YyDkV1jvweKDvcE5yKjIdR?= =?utf-8?q?CUzq8LQwyX0sMUOLOzYEep+HERsARyyVf9NruhtEFMcMaTCimnLessFQ?= =?utf-8?q?TWXDh9rsljRMMscUhTIlF1K7aSwsDV1EjHo20W/2+hthqi2JdI7MV3BT?= =?utf-8?q?IEjlfpSqbd7/xvzm4nQ+EOWP4Hg7M9ZTFmakEofw5bZBx6CR2/zLxwmI?= =?utf-8?q?LdEbYMDnnjq/0pSBka/2Hez2/t3shc+0B4HxOQIDawpe/lsAcBAl6sPS?= =?utf-8?q?s9HCL4fo7TVUXGvMFiby9ohYK3rOOf4z03C/mg7/xNzQcGUOPFn4VpF4?= =?utf-8?q?tgVRCzJSmphxQIRg+OyXVzNyGcYWLBeqGya9FgjscaoIIu7hhYLcU3jL?= =?utf-8?q?17IZrdrH9VB2GXGJ8hazlB5nVNwdjkxRzndcQ3WvdicPzRCo7E/YgaHB?= =?utf-8?q?S7k6ZZE=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3547; 6:9aZ3Xd0AAy4mcH++4nhw4ns8C/05W6azN7V/I+Y5k0BL8LQqv5kQfqclSpSuYTCgZfzvHwndKD2UtX/HRoqVFjYxqh3fyrzbyI6IZUGhC/Eqj5RR4gYDk3YTxS7UKhIjl4103nYNyR67WeKCen8MDDFhcfoW7/NDRjcyGj2BmJU3nSiRT67E+8dXji/LYDSMchnx990f/pVBbm8GeM7EL4jINOn+H3R9T+ltS769jKtDGkbeLYfbnhMO2ZZ/bpNueAXnkNCM3Zd4BDExCm7sxm6rCMD5r3va55TZCfzYbG9xpkcSdrG6qqtwm1UAx0ADSXiSmwyE/MYOhUKB2U/rtA==; 5:rijk97ft6HQM4a/BEB8hUOHM3KYHPQuYeqMaU0IL41bbv1w0nVE1VU0ncPiy/YDiuryb/4Ic52dl4x3lwzG/nbT3uIq+DcyMZk2Jop1BBj+0B+RFKt6nQ530TRpu6RR+BiFKB0z0uMtDd4puoTZxRg==; 24:UZIf5eO/WsIM6mEkkf2atYQaSkV72qVEXvdQWAzFiW7nRg3THr/JMzXy3RbkOCuVU+6yjQviaRERUKFi7h8Iq3hpvYNnnsPzwPenBgVo/nQ=; 7:AKrJYUpLBGIJfi4goAbbFTaSWwjt7G1Md1GwrcpgRzUf3qUJK9OXJangvz9FVo8EB7Kk9NsD67Chi+dz0Xzx2qD+S1J15QOupdvN3ELWS8IJl0vuCeaZLRfrGx1odQc01B+iMeI/Y2hFxe5jN6wmjKVT87qXzbC1r9yUvFItGXVN+ObU4sJRJwnq1t43GK0D5prcLetH2elKDjuUYCOe2PxuGmmRTLT8CGXUisPKlBg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2017 19:40:58.3844 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3547 While working on a gcc patch I realized that the glibc tunable 'glibc.tune.cpu' was not working on aarch64.  I tracked it down to get_midr_from_mcpu and at first I thought I should remove the '== 0' from the if statement because tunable_is_name returns true/false, not -1/0/1 like strcmp.  But then I realized we shouldn't be using tunable_is_name at all because we are comparing two null terminated strings and tunable_is_name is trying to compare a null terminated string with a '=' terminated string which is not what we have. I tested this by running a program that calls memcpy and checking what memcpy gets run after setting glibc.tune.cpu to generic, thunderx, and falkor. OK to checkin? Steve Ellcey sellcey@cavium.com 2017-09-01  Steve Ellcey   * sysdeps/unix/sysv/linux/aarch64/cpu-features.c (get_midr_from_mcpu): Use strcmp instead of tunable_is_name. diff --git a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c b/sysdeps/unix/sysv/ linux/aarch64/cpu-features.c index 18f5e60..0c7e13f 100644 --- a/sysdeps/unix/sysv/linux/aarch64/cpu-features.c +++ b/sysdeps/unix/sysv/linux/aarch64/cpu-features.c @@ -37,7 +37,7 @@ static uint64_t  get_midr_from_mcpu (const char *mcpu)  {    for (int i = 0; i < sizeof (cpu_list) / sizeof (struct cpu_list); i++) -    if (tunable_is_name (mcpu, cpu_list[i].name) == 0) +    if (strcmp (mcpu, cpu_list[i].name) == 0)        return cpu_list[i].midr;      return UINT64_MAX;