From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from outgoing-exchange-7.mit.edu (outgoing-exchange-7.mit.edu [18.9.28.58]) by sourceware.org (Postfix) with ESMTPS id 294953858D20 for ; Sat, 3 Dec 2022 19:20:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 294953858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=mit.edu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mit.edu Received: from oc11exedge2.exchange.mit.edu (OC11EXEDGE2.EXCHANGE.MIT.EDU [18.9.3.18]) by outgoing-exchange-7.mit.edu (8.14.7/8.12.4) with ESMTP id 2B3JKOeb030563; Sat, 3 Dec 2022 14:20:24 -0500 Received: from oc11expo11.exchange.mit.edu (18.9.4.16) by oc11exedge2.exchange.mit.edu (18.9.3.18) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Sat, 3 Dec 2022 14:19:38 -0500 Received: from oc11exhyb2.exchange.mit.edu (18.9.1.98) by oc11expo11.exchange.mit.edu (18.9.4.16) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Sat, 3 Dec 2022 14:20:23 -0500 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.46) by oc11exhyb2.exchange.mit.edu (18.9.1.98) with Microsoft SMTP Server (TLS) id 15.0.1497.42 via Frontend Transport; Sat, 3 Dec 2022 14:20:23 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dtTp8VY+vZx71lsqil22ExUO17qQUWqDx768ZpvaP1CV9NozcQNu2wltfcnjILD4tJ+wugIpXi1IgpK7l/gbJrQZJwvkPka2xmOni/DItsMaQRVWMdJOWI+sSmrFMH4koMRIrgPWlIPB8CahD64bAudXC7DC3nhTsWxG8/U+nD+UxEZ1O8YhD4KOL/ca/WzQYEOeaqTcaUpJPuGz/x5FvfuhtRYxK20jmKxjzGb73tg5vJCy/8f1sz9IuqRWFiqR6gAzxXA89QT0BwxjWXfNdAl8UX4+iHWqRZFDU395RrKKCrwjC9gmUIBK6OpHS7lJ6YnKeWJuPaS/JMm9TTzFMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ivooMmfH7eQgAOyaK5PGX/EKNffI7LGy+PiA9h2E0+w=; b=m/pEPwZJAyKDpgo4KJtH/NpNRY/V+tsDprDTuZwLSjwqJFZs4mv2a4UrSJTneHpOtbdsQ6muiQVyf0Fl5PTZT7hRlI08tLomR5vyBmW2SNaBKqCDUBwfuwwHtRx7UrpMOPhfQHdPqEV9KxjED9cC2bPPzpAwTyYzlKsnT+B92aHBLUX3UqexhYaCgapaFqGLVHMRjhVgmxZjSDjg6vPPf2GeKYkBbv5sQoRwc8ehUa5zaiuIQL1LnQ/zRq9uG2+6IBOkvWTZXSng728qUYKvOFpvUiyfV7Rl0MEv0racofRgAvhfeEWFvMhIMJ3q/2PQq9Xeza1qEZmHOKwCGWeEtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mit.edu; dmarc=pass action=none header.from=mit.edu; dkim=pass header.d=mit.edu; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mit.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ivooMmfH7eQgAOyaK5PGX/EKNffI7LGy+PiA9h2E0+w=; b=Lv7eQcWS9frmE0eHNpe9R399/MQfDi+lrx6H4wtZjQhXyoDyO0Bf8hG8ajNdBmB0ytQY8268h/L05qAWsfRHhZhHTM8x9jsgIpg2UyEoW7U3qhfrrdKvb7m0dvFAjw2fbf3NJaUnIAtV1bG77RWD6w6K+VkfPftgfEJ+pVRe5mU= Received: from PH0PR01MB6635.prod.exchangelabs.com (2603:10b6:510:98::15) by SN6PR0102MB3519.prod.exchangelabs.com (2603:10b6:805:10::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Sat, 3 Dec 2022 19:20:20 +0000 Received: from PH0PR01MB6635.prod.exchangelabs.com ([fe80::ae6b:a419:9b51:4d4d]) by PH0PR01MB6635.prod.exchangelabs.com ([fe80::ae6b:a419:9b51:4d4d%8]) with mapi id 15.20.5857.023; Sat, 3 Dec 2022 19:20:20 +0000 From: Samir Droubi To: Noah Goldstein , Florian Weimer CC: Samir Droubi via Libc-help Subject: RE: ____wcstold_l_internal Question Thread-Topic: ____wcstold_l_internal Question Thread-Index: AQHZBg6Nfp0yAPoAt0mUdvEol9pw2a5aHUozgAGwc4CAAJYK0Q== Date: Sat, 3 Dec 2022 19:20:20 +0000 Message-ID: References: <877czauyjh.fsf@oldenburg.str.redhat.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mit.edu; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR01MB6635:EE_|SN6PR0102MB3519:EE_ x-ms-office365-filtering-correlation-id: e808bde5-4946-4300-3c4e-08dad5636b15 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +3pAJxfMdMQJRMr4jIm2qJUVRHSKZf6ouGyhcZ3EMAWq1s8tDMUZIba3t3ZS7EabejRPcMImvDTvIAWj5myjdVnOWuWeQD2rmgIcltQAs3sxv7QQUNqdwi7M7haEaf3yDBr8feZ51GQv0R9uUAmLmwn3CGn/P1ZjrGOuV8IsdazKe5/4vPwmEx+dXm8KW40aXacJCWSPntX0o7esqvuivN2dwEgx7OEncbN3Ws7eObiU2bM/HeYRUEOJ82YmoGiiYlD+ZX/wgrRIm6zG3oMFuBIwZw2IYM78RARjrCYTFiPpF2iOsAFGODsGUbJ5xAsjqFXoc4WSbikMwYyS49h5i2baqrzCBx1iycBwelvUGlPl2LkypgV9Js6cV3yCbxEXwOJ34/jdmp73f9m+4uNNVL0nVtuRC1FHLK9qncH2FxNg9RusDmjIlrnvB5P98WjEU+FgHFYv1iK0kNwVwDIzziiAnXusRS11S21NDLt9zIMqACZV76Eu3H3nQ/czx1LuSjRmd6PMJvkt9u7tqto9OXgWr8cdW6xhmcOU1LVCa4ap58Pcj8EMZhxLiQfvMIgrewTH8mx8P3E3lqkjS/MqgHsReLOQyxZqGt6TSbwYl04MQArQpZEIaXvrxMoKjgOhOe7r/bPyppfS8r3DoqdrpB7IvMAvLpyQr7yLJuAap9dUlCjAmkDkWuKCMPeaNri2v30/1hkHpo9nupYR97Z+GN+lGXDze4pFd9QDksT08A/E0d93WqBqLlhetKqdbda3o0abMwUJBUWXS9lg4bB5k2cA+Pd6glW7cuLWN4BAtYA= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH0PR01MB6635.prod.exchangelabs.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(396003)(346002)(136003)(366004)(376002)(39860400002)(451199015)(75432002)(76116006)(166002)(9686003)(122000001)(33656002)(55016003)(38070700005)(786003)(86362001)(316002)(19627405001)(110136005)(19627235002)(64756008)(66446008)(91956017)(66476007)(66556008)(478600001)(66946007)(966005)(71200400001)(8676002)(6506007)(186003)(26005)(7696005)(2906002)(83380400001)(38100700002)(41300700001)(4326008)(52536014)(5660300002)(8936002)(101420200003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?bkZSczU2WFFCZDdFWGdOK21ZQWdUTXhEL0J1YmRrWGFKekNwMWNSWWhq?= =?iso-2022-jp?B?MytIODFDZU1DbEhwMWVQWS94UXJJQXR6OHVhTys5MU5HUG1ia3Y4ZEYv?= =?iso-2022-jp?B?bGN1ZEdwRzlFVVY4Wm91MW1HRU96VUZ4U0J4NHR2bzVoL3cwYjVMZnhX?= =?iso-2022-jp?B?cEJPRTFZTnpUcEJyd3l0NlAzdGIwOTFhTEw5YmkydCtQTnh0N245WE1y?= =?iso-2022-jp?B?bGdPRU8yMkREODBUYkNZYk9NdDFFL24xTTAvREZITXFpS0RJc2dLZUsy?= =?iso-2022-jp?B?ak9nZ1AwNmlya3loSGF2YXE2NlpWRk1KeGpFNVBPWGlwTTBlUEJtWUJj?= =?iso-2022-jp?B?Q0tJR2ZtNE5ZclpYRnpkT3dFVWlYK0t5Tk5tSFVnQzNnbHR3NmF2LzB1?= =?iso-2022-jp?B?WHJDdDEvWFB1TmQyekJhMGQxdlZIVDM3WGc0N0RoUzZta1dnVnJvQ0lu?= =?iso-2022-jp?B?NXp0c2pVY3MxRzRoQ2d5NUdXNklzSC9admRBWjFTMXhjMXhIUnNqNE5w?= =?iso-2022-jp?B?Q3VrTndBRzEzMGhLd0kyeFhtb1ZXOXo3N2lOVTFOSGRIeGc4MFBDbWtv?= =?iso-2022-jp?B?eStpWjZ6NXFrNGdzZlBUdStuaU1VemQrdC9xbkp0QVVzekx0WTJickpy?= =?iso-2022-jp?B?dXJWYi8xbkxyZS9vb0k4blYybXgwVnhNaFJFN294MXEvNmtJOXZiQ3Mv?= =?iso-2022-jp?B?aDlFSDdVVWNxajFxYmFpSFJiMlcwZDhTL1QyTHdNUHZFb2piVTBQK05n?= =?iso-2022-jp?B?SlNEZ0xBTFVpOHhyTHRvaDZRN1k4eXY0VnBJQ3NwaHpVNGZmQTBjTXlU?= =?iso-2022-jp?B?cVUrUzR2THhqNHZKb2orYTJNQXBKSWFPOUpsbTRCSmFnYjVZZkQybmUy?= =?iso-2022-jp?B?a3lwaHpUWWRzLzdGY2JNYTZ0STVJOVNTNStWZXltWWxoa1FCYUFKRGky?= =?iso-2022-jp?B?UXAvUkNqaHFyWlY1MUJGRG45WjJJVFQxTElLQWVPZjFmaS8yZmxxVitj?= =?iso-2022-jp?B?MitXZk9FYm5JQlpQZVdOSmxBMnhoRU13YmZuNGVOK2ZKMFp1VE1idEI5?= =?iso-2022-jp?B?cmNub3dHTVlrR2U5L0ViT051K081dFdkRG5VZk9KUmdKNHB3MUlMNS9y?= =?iso-2022-jp?B?NDhKemljaldlcnIyNDJPM0t2VHZ3SlozR0VxeWczR2NqOTc2dUQ0SHFM?= =?iso-2022-jp?B?aHdCNzNHaHJxVEhkMzRIZ1dOZ1BBNi9zUlJNUzRqOVJrSThSaEcyd0ow?= =?iso-2022-jp?B?NjI4aVBkWmlaWTR5YUdyNE1UUXJmaFVwajhxS3hMaExXMXBVZDV6TVh1?= =?iso-2022-jp?B?YWNyQ1hRR3dpTGU2elJubjBTVU1JaFZBWURWTEZqMDRKZHk2QUdjbFU4?= =?iso-2022-jp?B?eExaclhsSHdzUHVqMEdVN1ZHQTVPelBKQTBVN0xUYXY3TUNnZjZ4Nk9X?= =?iso-2022-jp?B?SVNucFcweFJyQkFYUkNJbWxKdXBVMzIreWZ2cG1USzNHeWprVmVDM3F3?= =?iso-2022-jp?B?ZEJzWnhkcE1ZdGx3cTJteDZrVTRrZzA5UFI1TzVWUEwwN29FZE04N2JV?= =?iso-2022-jp?B?QjdNVkJwS1l0S0N0VnVNM3pjVGxMejRjSm9rYUNDYjZrYzdMUEVoeVM2?= =?iso-2022-jp?B?cEVwK1Eyckl4cTlKcTMvemVkQkExciszVzB2QTRiRkJCOGRxdGpxQml6?= =?iso-2022-jp?B?OTFPcTFDNTJ3NFpwZEo0VHdpT0ZTNG5xNWRaWURMa0RLUzVOSFp3S0U0?= =?iso-2022-jp?B?UVZ4U2JWb2NqN0RMUUlVUGFNNzFvZVNTbndiZEpGeTJSK09haXVLSlNG?= =?iso-2022-jp?B?aHJYeldER0dpL0VpekxyNGF3blhLZDhBSHBSeERKOW5MZEtvaHRhVWNy?= =?iso-2022-jp?B?ekxqektQYzFyUW9kTFhWa1lPUHNnTlAxMG5LejBmSW9sU00rV1NvaVJv?= =?iso-2022-jp?B?dzZDSTEyZVhYRmVXTG0vNWlVdSs0Ync1UFdZRE1Ka2dua2FJUWk3TVZ6?= =?iso-2022-jp?B?VXNSeFN0MjQzb2lwTjZONHB4YWZXd0MwU2ZQNmkreENDQUM1SzJjUWVU?= =?iso-2022-jp?B?dktxeVhoYTU0MDQwUGtWSXJxN0EyL245Q1hpWWJseS8wSmdjdXJONlJD?= =?iso-2022-jp?B?blNWS0dkdGwzYUdOR1JOOUpleE5hQ2kwaGdpWXVSNFZHSEUzWDRENmpJ?= =?iso-2022-jp?B?MkVpR2grWUJxaHBrSENCRGI2VGNmeVlUaW1ZYnhLa1htaDFNWDBxMzFq?= =?iso-2022-jp?B?TzRrYmxiY2dHMEVjSERxWWUzS3h6SDdBaz0=?= Content-Type: multipart/alternative; boundary="_000_PH0PR01MB66351EABB5C79A1EFE878E69A2169PH0PR01MB6635prod_" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR01MB6635.prod.exchangelabs.com X-MS-Exchange-CrossTenant-Network-Message-Id: e808bde5-4946-4300-3c4e-08dad5636b15 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Dec 2022 19:20:20.0910 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 64afd9ba-0ecf-4acf-bc36-935f6235ba8b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: QkKgF2IJz6evSuk3H1ZX7ojAcuAf8dkzp9RnpkLdNxLlOmJNXFdS9e6st0RcR9p1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR0102MB3519 X-OriginatorOrg: mit.edu X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_PH0PR01MB66351EABB5C79A1EFE878E69A2169PH0PR01MB6635prod_ Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable wrote: > > > > * Samir Droubi via Libc-help: > > > > > I was profiling a project that I have been working on and the function > > > above shows up amongst other internal functions. I was wondering if > > > you could shed a light on what could possibly be happening to cause > > > calls to this function to be so frequent. Here is the profiling > > > result: > > > > > > 13.72% mitscriptbc libc.so.6 [.] ____wcstold_l_intern= al > > > 5.45% mitscriptbc libc.so.6 [.] ____wcstof_l_internal > > > 2.46% mitscriptbc libc.so.6 [.] round_and_return > > > 2.28% mitscriptbc libc.so.6 [.] ____wcstod_l_internal > > > > > > The libc version being used is 2.35. > I've noticed on ubuntu 22.04 (2.35 as well) `__wcstold_l` is showing up > in perf profiles incorrectly. It's usually malloc / memcpy / whatever oth= er > functions are usually hot if you look at the asm. > Not sure where the bug is but don't think `__wcstold` is whats taking up > all those cycles. I have noticed the same thing. I started noticing this when I was profiling= on ubuntu 22.04 (with libc 2.35). When I look at the annotated assembly in perf for `____wcstold_l_internal`,= I see that I am in `_int_free`, but I still see calls to `____wcstold_l_i= nternal`. Specifically, here is a segment of what I am seeing: ``` =1B$B("=1B(B ./malloc/malloc.c:4605 0.01 =1B$B("=1B(B mov 0x8(%rbp),%rdx 0.08 =1B$B("=1B(B and $0xfffffffffffffff8,%rdx 1.36 =1B$B("=1B(B cmp %rax,%rdx =1B$B("=1B(B =1B$B"-=1B(B jne 716 =1B$B("=1B(B ./malloc/malloc.c:4607 0.14 =1B$B("=1B(B mov %rbp,%rdi =1B$B("=1B(B =1B$B"*=1B(B call ____wcstod_l_internal =1B$B("=1B(B ./malloc/malloc.c:4610 1.39 =1B$B("=1B(B b9: cmp %r14,0x60(%r12) 0.01 =1B$B("=1B(B =1B$B"-=1B(B je 480 =1B$B("=1B(B ./malloc/malloc.c:4615 0.05 =1B$B("=1B(B =1B$B(#(!(!=1B(Btestb $0x1,0x8(%r14,%r15,1) 9.31 =1B$B("=1B(B =1B$B('(!(!=1B(Bje 520 =1B$B("=1B(B =1B$B("=1B(B./malloc/malloc.c:4619 1.31 =1B$B("=1B(B =1B$B("=1B(B andq $0xfffffffffffffffe,0x8(%r= 14) ``` I was also confused about why `wcstold_l` would be called here, at least fr= om a quick glance at the external function definition. Is there a way to confirm that this is actually a problem with perf? When I= was looking at what ./malloc/malloc.c:4607 is I found this: https://github.com/bminor/glibc/blob/release/2.35/master/malloc/malloc.c#L4= 607 Which calls this macro: https://github.com/bminor/glibc/blob/release/2.35/m= aster/malloc/malloc.c#L1436 which is reading this field: https://github.com/bminor/glibc/blob/release/2= .35/master/malloc/malloc.c#L1151 Reading the comments in the file it seems that INTERNAL_SIZE_T should be d= efined as size_t: https://github.com/bminor/glibc/blob/release/2.35/master/= malloc/malloc.c#L173 I don't really see why those calls to `____wcstold_l_internal` are showing = there. Is it possible that the reported line numbers in malloc.c are inaccu= rate or for a different source than the one I am looking at? Is there a way to downgrade libc version on Ubuntu 22.04 to study how the p= erformance/perf results change? > > > > The external name is wcstold or wcstold_l. If your application isn't > > calling that, the profiling data is wrong. You might find out by > > setting a breakpoint or probe on the function. > > > > Thanks, > > Florian > > --_000_PH0PR01MB66351EABB5C79A1EFE878E69A2169PH0PR01MB6635prod_--