From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx07-00178001.pphosted.com (mx08-00178001.pphosted.com [91.207.212.93]) by sourceware.org (Postfix) with ESMTPS id 409343857349 for ; Thu, 12 May 2022 13:26:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 409343857349 Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 24CCwcti027827; Thu, 12 May 2022 15:25:56 +0200 Received: from eur03-dba-obe.outbound.protection.outlook.com (mail-dbaeur03lp2171.outbound.protection.outlook.com [104.47.51.171]) by mx07-00178001.pphosted.com (PPS) with ESMTPS id 3g083j2khc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 12 May 2022 15:25:55 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DbHhhANoOm+3zVrvvekNGFAYeb3m7Ii7e6/Hzsf0ehB5/hzzYZgUb5ITgK9dhxNE1kVr6F6cpPmoOBbXuF/tl5yB+3Kqj327krKYhDVaNh9JHX1VEqKLkr/VOqtQ99peDMUys4Nre8XAY0P3NtytsYgt7mPORTRrjudxN9v15K62U4wfxrx8EdQgJKjzlGJee3oDvpFg9sLrQCaS1eXHnjutRTtiaBo2w1wgRcQTykE+oW2LzjqqF6E7IHvMHoyDbGDslpMpa8XiQhFeQfGuTJAoywFTx9+EjQLHCsgH/CLwf+tVlsYpoueC+tyde6ptlqCND9F1ve2AF+CX9HhUlA== 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=2Hh/95ITwZ5WWpH0pgdBUuq1Xx+4oJUQPq99nCoVlxI=; b=Dn0tsm4sEjL8mL8ehOxH3azm+vIvW0N/pJ0igZdQnJoP0OxcGOY/nHCsDbCXZAGN9cn8cMGu7xPL9cLuN1wkbIFrmE0aKJTx9HHJCYpzAetFj7xpSfKPpP+OpiJoiahr0QERhiYqwPgB3zSoDh2oVydzSWM4ARUq8XmayU/5amiMGohAogsUwGohWVNHnlq/qJITjEj0j0dxlcjlhI9Fo9DKRJ8ZKv4QhB78nQhaSbI/eLzSwyv8huMLbDuH/DjtrttpDEruQXMYq5/LBfr/Tl5/qKCObKIZCVsWZ4q27TkNyh2NAdZPP9bxPkR+MpRoeE/mVLoPSka2MFvn5BOm8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=st.com; dmarc=pass action=none header.from=st.com; dkim=pass header.d=st.com; arc=none Received: from AM6PR10MB2197.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:41::30) by DU0PR10MB5581.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:10:31c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.14; Thu, 12 May 2022 13:25:54 +0000 Received: from AM6PR10MB2197.EURPRD10.PROD.OUTLOOK.COM ([fe80::2592:d0e6:44df:1496]) by AM6PR10MB2197.EURPRD10.PROD.OUTLOOK.COM ([fe80::2592:d0e6:44df:1496%6]) with mapi id 15.20.5250.014; Thu, 12 May 2022 13:25:54 +0000 From: Torbjorn SVENSSON To: Matthew Joyce , "newlib@sourceware.org" Subject: RE: [PATCH v2 05/11] Remove __sinit_locks / __sinit_recursive_mutex Thread-Topic: [PATCH v2 05/11] Remove __sinit_locks / __sinit_recursive_mutex Thread-Index: AQHYZfoigyBp2BeLkEi7bgNfjytbFa0bN18g Date: Thu, 12 May 2022 13:25:54 +0000 Message-ID: References: <20220512121143.21473-1-matthew.joyce@embedded-brains.de> <20220512121143.21473-6-matthew.joyce@embedded-brains.de> In-Reply-To: <20220512121143.21473-6-matthew.joyce@embedded-brains.de> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_cf8c7287-838c-46dd-b281-b1140229e67a_Enabled=true; MSIP_Label_cf8c7287-838c-46dd-b281-b1140229e67a_SetDate=2022-05-12T13:23:47Z; MSIP_Label_cf8c7287-838c-46dd-b281-b1140229e67a_Method=Privileged; MSIP_Label_cf8c7287-838c-46dd-b281-b1140229e67a_Name=cf8c7287-838c-46dd-b281-b1140229e67a; MSIP_Label_cf8c7287-838c-46dd-b281-b1140229e67a_SiteId=75e027c9-20d5-47d5-b82f-77d7cd041e8f; MSIP_Label_cf8c7287-838c-46dd-b281-b1140229e67a_ActionId=f4f695cf-2103-4bdf-8f56-312b04b61bb4; MSIP_Label_cf8c7287-838c-46dd-b281-b1140229e67a_ContentBits=0 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 623fad8a-e36f-4cee-b65a-08da341af113 x-ms-traffictypediagnostic: DU0PR10MB5581:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TM75BvzT39eBEjl//DtQAxrrvJnKJ4JQotOHcysq+ES23Vv9sP6L9RoeyiyI82AJhwSxq+z2D5egejOQY5ck2t9WRlyDfU9VJeNP8rjsQR8XfMHR7Jts8e7qTdQjxu4MJVzO/JL0RC5KXjdR5UnDbeJuWl+pzAdvY2EMYFH6Jtwp8g7x92XOXLkT55uCFQPwK9LI1ejeEU/IHW3pQTg7PaeUPGnBY6/c1V2ZAH+7Ndz+Vgl6yXg3Ii69MRLn+y/IORHBx1sL9jTumGczlaWRY0CFwxagVcohoWAia1IV0rHp2Y4qTcuS/v2HwjVktcH9fQz3819/qptbb+XXWH2Xw2zoS7hj0mJV2xWAFEQjv3Q/ZsMAwZQ8A4DDfc5cZU2l4LPUl6PGUjqIVKCOlbjNWI6k3RNUnIG4Dvl4exj8QnrMXyre2W2aW1vKg6TBOqlCEAN/ep5qG6Zprt8dXE3RlE71i9M3nEv/g0i+qOeOTcPfeFf8WmcvdbUojgga509hSEi2t0rgKNMRIHhmR59NjzQpaMd01D+svMRKW3pDVuOhRqgONnEQ6h4rfKG61x2tX2HscKv/gUil5IjdGMKkV5mu2GzSw3Y+9RjXL7YPfs+BoaiL52encWb4F8lJ/EYiF6rJS9aCXwLhyPismd5h/Zx//t2hR52cyQ8mQI5Oq9hz7FF+zQYD60IxshmnOukk4v8LxfWHopBg4znoF+uJHA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR10MB2197.EURPRD10.PROD.OUTLOOK.COM; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(53546011)(316002)(55236004)(186003)(66574015)(38100700002)(38070700005)(52536014)(83380400001)(6506007)(26005)(7696005)(9686003)(110136005)(508600001)(71200400001)(122000001)(2906002)(86362001)(66476007)(66446008)(66556008)(66946007)(8936002)(76116006)(8676002)(64756008)(55016003)(5660300002)(33656002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?g9awZia8h/32mrb+zYHDxEYtxDXQ6vt/Vw6iy688pea1NdTs0wx4WjW862?= =?iso-8859-1?Q?T+64txIDvE0kB+5uttH6t3NkKb5uRhAK9uR4pqdeIcrlH36KDcVnPdR5He?= =?iso-8859-1?Q?HmeYCTem7EKfVqST8HMp1e+uKe+yWknUNLDzZK521jdhces2/miayhFX1O?= =?iso-8859-1?Q?ebAFfFv3A4JK/wuRLT0/u5MpoAbSVZQDcIGsftc9C/8ENyNDtRshnBsFRU?= =?iso-8859-1?Q?s+oyl665c8RtYWDTvLxM2CtrxMVtGyJfkbuB05Zg+k7KnDfEury5t9kYSI?= =?iso-8859-1?Q?brc5I1d1GWgUqaBB8pl0rRgk9cJ1HDrV1R/AWaxmrRDzmfj3ewuPbVPmKK?= =?iso-8859-1?Q?JkVLTdfCLiN7iAivHGOQMbp+fxkyp0blASzl2bpHMXD1wVBf+Xshh467wX?= =?iso-8859-1?Q?mjmxymSqRTCmdQYSyMOxxlMQLevs0z+K46Wo+mwx27CtWaKOwe3k9qEv5/?= =?iso-8859-1?Q?pGD9RMstDrFrYOsZIAwq1F65z/QJRZg4cAPmUy/Aicc1dh+Zf3oYZaf/I5?= =?iso-8859-1?Q?pXLl0jHebql/aNVadt/TA26JvrCDZNLE5gWlQhGVMzZpCT+FdbmPTmX/K+?= =?iso-8859-1?Q?DXr9DtxI6M1QVVxq9K5t7xENLS3OLDIsSsPFi6//Fby78PSzE0eNZ4gt6T?= =?iso-8859-1?Q?0YRq6PDzFzw/LbUZq3qfas1XO3Pk22v/UuRwZ5/n3nBQVIdDbh3ryJnjaP?= =?iso-8859-1?Q?88noRTbA6qKJc7E8J9p2rvZUE2QA2rujw1YgmVimj9yoMSiwpwClYPjGbc?= =?iso-8859-1?Q?3DHvwkGl64Zy6LZ74jz3G/GBme1m9ZcFGx+Uibynmgn9X/HS7rvGZgbyxu?= =?iso-8859-1?Q?nB9s9dGPbtIeUwxOM99Hc7c4SJE4edqiWcABviGedvMB6PXcMvDEymLWEq?= =?iso-8859-1?Q?J4LKMS/x2URhQL9qooVwMpd0QnJM8WYb/FBoB37DbWaxvRiCgQzkiP2bft?= =?iso-8859-1?Q?b9nagi8vtN1YEIWAwOrnshxIwss4JwHBVwulZxWcEIPPfW0hC8z6EnTxZ+?= =?iso-8859-1?Q?Ck8x0wMAkq2dKIKDUg+0nkqgqSzROW4WChKQ+uIoOyiKCoF6D0GWqeTfBe?= =?iso-8859-1?Q?LWocbV5IlWGbJedkwMbJ5D1xAgERIZoXhgzxpVLl2xDn2GAYnHubMsp4Zj?= =?iso-8859-1?Q?O8s5o/xKfTjQ4FhoWOYzjxlh6PJwOi6/2W/XpMsbe4/42BIWK/+Q6vPzDR?= =?iso-8859-1?Q?g/xY+Wb2Bo8DYS8qU0JeTPUlB6AiZEl1hcTcnletkIrxAL/R/js+tjsxuw?= =?iso-8859-1?Q?wZdkovQ9eakpeje9MlW8DNmRBt8W5ts5fD/LsC28m4DIms+qLa60GBFoMR?= =?iso-8859-1?Q?Y4Gyq/9liQlWFKVETHm5lMCYqHAhCYrw8a5lw1nofma3e4HNamHQyZ7jeb?= =?iso-8859-1?Q?enPrOHCOzsP/zumqZahRqBtYE8r/3yf28xBDprThqhjzSEFf1VvrwO0AmO?= =?iso-8859-1?Q?rNPtvda3+cJ2j+h33emK0OvhrpUxIisMSR1BsVtdFVVkaDC7hdjZ+sxAd6?= =?iso-8859-1?Q?L6b40Fzw9iWCarIytZRB8sSscQ1uoY9GkeY6SFR6mmT+GPXYJQ07uJvL6N?= =?iso-8859-1?Q?SF5uq2TAGOaaVJxuW7OCvy81JJ0YkZeERWuD+2PAQkO6eNoN4qW6JnCiph?= =?iso-8859-1?Q?gdyMSLFI1Pget3hsaLGic3+Dv+v+pe1laQrW1iMe3XlNMoYrTGrSweLixR?= =?iso-8859-1?Q?Hv6+SOZzywqQZArH2fGc+/rJiPI1IaiNKY7fNnvqwUlmgmeRkQVdblezQ0?= =?iso-8859-1?Q?37pjIdqw1a3O8wjn8amO4cfFxOzOGhizwa4ucoWiRcgRfg6LArgTDUsug8?= =?iso-8859-1?Q?thJRcE2td+3QhoX4Ih+IPbOh3U9T1vA=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: ST.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM6PR10MB2197.EURPRD10.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 623fad8a-e36f-4cee-b65a-08da341af113 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 May 2022 13:25:54.4272 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 75e027c9-20d5-47d5-b82f-77d7cd041e8f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: K1KP67VaWG9n994ulqwDS7GxXGnmSpgEHihPwH5gPTTB0C1Dk+87u1q7CP4FQIV0rIbEuGPpLxjS77LsCQxMKWu/0+PUxfuAgFRcRtPOuJc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR10MB5581 X-Proofpoint-GUID: 6t-vkUGsrzLsYUl5RMtb_6EFpl9d0H1n X-Proofpoint-ORIG-GUID: 6t-vkUGsrzLsYUl5RMtb_6EFpl9d0H1n X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.858,Hydra:6.0.486,FMLib:17.11.64.514 definitions=2022-05-12_10,2022-05-12_01,2022-02-23_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 impostorscore=0 lowpriorityscore=0 malwarescore=0 suspectscore=0 mlxscore=0 clxscore=1011 phishscore=0 adultscore=0 mlxlogscore=975 priorityscore=1501 spamscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2202240000 definitions=main-2205120063 X-Spam-Status: No, score=-12.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_LOW, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 May 2022 13:26:02 -0000 Hello, I'm not against this change, but I have some questions related to the chang= e... What about the retargetable locking scheme? Should the mutex __sinit_recursive_mutex be removed from newlib/libc/misc/l= ock.c too? Without removing the mutex, I suppose there would be a mutex that is never = used in the system. Removing the mutex would pose an API break as I assume that the functions d= efined in newlib/libc/include/sys/lock.h (and implemented in newlib/libc/mi= sc/lock.c) are to be considered API as it's the functions that the applicat= ion needs to provide in order to ensure newlib is thread safe. Does this change force newlib to do a major release? Kind regards, Torbj=F6rn -----Original Message----- From: Newlib On = Behalf Of Matthew Joyce Sent: den 12 maj 2022 14:12 To: newlib@sourceware.org Subject: [PATCH v2 05/11] Remove __sinit_locks / __sinit_recursive_mutex From: Matt Joyce Removed __sinit_lock_acquire() and __sinit_lock_release(). Replace these with __sfp_lock_acquire() and __sfp_lock_release(), respectively. This eliminates a potential deadlock issue between __sinit() and __sfp(). Removed now unused __sinit_recursive_mutex. --- newlib/libc/stdio/findfp.c | 19 +++---------------- newlib/libc/stdio/local.h | 2 -- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/newlib/libc/stdio/findfp.c b/newlib/libc/stdio/findfp.c index 66867e664..afbdad9b1 100644 --- a/newlib/libc/stdio/findfp.c +++ b/newlib/libc/stdio/findfp.c @@ -235,11 +235,11 @@ cleanup_stdio (struct _reent *ptr) void __sinit (struct _reent *s) { - __sinit_lock_acquire (); + __sfp_lock_acquire (); =20 if (s->__cleanup) { - __sinit_lock_release (); + __sfp_lock_release (); return; } =20 @@ -268,13 +268,12 @@ __sinit (struct _reent *s) stderr_init (s->_stderr); #endif /* _REENT_GLOBAL_STDIO_STREAMS */ =20 - __sinit_lock_release (); + __sfp_lock_release (); } =20 #ifndef __SINGLE_THREAD__ =20 __LOCK_INIT_RECURSIVE(static, __sfp_recursive_mutex); -__LOCK_INIT_RECURSIVE(static, __sinit_recursive_mutex); =20 void __sfp_lock_acquire (void) @@ -288,18 +287,6 @@ __sfp_lock_release (void) __lock_release_recursive (__sfp_recursive_mutex); } =20 -void -__sinit_lock_acquire (void) -{ - __lock_acquire_recursive (__sinit_recursive_mutex); -} - -void -__sinit_lock_release (void) -{ - __lock_release_recursive (__sinit_recursive_mutex); -} - /* Walkable file locking routine. */ static int __fp_lock (struct _reent * ptr __unused, FILE * fp) diff --git a/newlib/libc/stdio/local.h b/newlib/libc/stdio/local.h index 30c534dcd..9c6f63fdb 100644 --- a/newlib/libc/stdio/local.h +++ b/newlib/libc/stdio/local.h @@ -287,8 +287,6 @@ char *_llicvt (char *, long long, char); #else void __sfp_lock_acquire (void); void __sfp_lock_release (void); -void __sinit_lock_acquire (void); -void __sinit_lock_release (void); #endif =20 /* Types used in positional argument support in vfprinf/vfwprintf. --=20 2.31.1