From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-AM5-obe.outbound.protection.outlook.com (mail-eopbgr00134.outbound.protection.outlook.com [40.107.0.134]) by sourceware.org (Postfix) with ESMTPS id 957F73857404 for ; Fri, 25 Mar 2022 17:16:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 957F73857404 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=silk.us Authentication-Results: sourceware.org; spf=none smtp.mailfrom=silk.us ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YtX0rMYtZEEDl00qOWEdRBqjp76YQADzkQ1qSlSj4+3gCYIVtb965q3oT5JJgJb8ga9SnC5kTlFumYFQhTHbwQFupXfjKoqiDnZQlcOLeyLYv9FMG4cMT2alzZ/ncdTm6oYedzuLUThVWUc4646pG55YBP0PtVRscMU4Rc+hbvL221SnX+dA47Vtu468gkFJ2zqKYmM63dWXHvqi4UxfQpRjmFv1tNTHfkei9yXULFq2vZ2zGZcuXwW4OO+r7UG02Z6WbjBm4+TYxsvCWmmNGsQwBQzRlzZXQuHg9JL1sHvG365f6ShKajma3zNrUSYkzWwSPR1XteG2byDZUI+jGg== 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=eTp561uVdfFLq6dI85a7eEBtWdwanvqT43GbNKVC9F4=; b=Ba3gd7eMq+U1F3YTMlvGphozyGtx3I1WuEXUdtT7DPvrTp+GkJzJf5gJwEAZVPG6etoeo++MXblNmK8RyYyJIGlbPZUggusw/7/2AL7B6PHww2FmefLjJSbUU8LshI355ZBONfNRGM05HZ6lD7hIMAlc5x0b6kF7CE3wTt1Fm0nl90frncEEWaPxtPTdLoDqTu+dflWXZCsRzKfXmMm15GdJTgqAGqCP2eZe2SeXP4Tdp3URMVpkUJAteqHxoNkfg2rNogde00JptH9eO2DC1fcmyqHiV0+2ljjQODtqMNbzk/DxprQAQkOUq9PPN0xcGOfiXsThpfJDp7EDHpgDng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silk.us; dmarc=pass action=none header.from=silk.us; dkim=pass header.d=silk.us; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=KAMINARIO.onmicrosoft.com; s=selector2-KAMINARIO-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eTp561uVdfFLq6dI85a7eEBtWdwanvqT43GbNKVC9F4=; b=GGvVfE2wF8ZwPDgfOvnn2ZG99h1f2HHYoBhD7XcJSa7vHUCIzMLxFCwyoWv9qsEA8cjUasqdLmezROsUP40FZISB1T0K6MyQ+V2znF4xPL+Lsvm9UWCcv6v7fxFAEX+cvT0QretzYlMLnWUUrV6HSOp6Mjr6gwIQqHrL9vC4V7w= Received: from AM9PR04MB8291.eurprd04.prod.outlook.com (2603:10a6:20b:3e5::18) by AM0PR04MB6339.eurprd04.prod.outlook.com (2603:10a6:208:178::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.19; Fri, 25 Mar 2022 17:16:06 +0000 Received: from AM9PR04MB8291.eurprd04.prod.outlook.com ([fe80::e074:dd60:f227:b674]) by AM9PR04MB8291.eurprd04.prod.outlook.com ([fe80::e074:dd60:f227:b674%5]) with mapi id 15.20.5102.020; Fri, 25 Mar 2022 17:16:06 +0000 From: David Mozes To: "libc-alpha@sourceware.org" CC: Adhemerval Zanella , Florian Weimer , Carlos O'Donell Subject: rwlock for async application Thread-Topic: rwlock for async application Thread-Index: AdhAaETQ9evS+CaQSGav+b9ombQWtQ== Date: Fri, 25 Mar 2022 17:16:06 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=silk.us; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: de255eac-f7ef-4284-5a04-08da0e832608 x-ms-traffictypediagnostic: AM0PR04MB6339: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: vnKe0TxLGsbfeRjrqDVTGgQP5qdyMu526W0OXVqRWUTiicyg5GeSF3tn7JerpgftvplauDHg5scOn9gttBlLyptWCH3DdUx1wNfGFW7UDaISTGw5XXUbIvoTZooCyd0LPGyFKzqt+22aotyBG7haHAOwYwUGmDFPET8fAYOvyJt6VTqxB6eSSgABWGtgFzOzNcM1a6OCfLAJUQdBf/GMQJW0FOtTUByZoCauPrm1kZXCYfxGNh7yWhsYF4oUp36Cv36HczSovhT0a5XlgRcJit7y9/0Z4EdOqtDp4F/LA89EqpmVjHAahgfpa/GcxGd14zmc31Hym03tCx7ForHUq7BN6TqPibHskU5LIHH9ImBDe2VlhdsWFCse67wTB4dYiYiNabcIvReuZYgWcDTbrIheWJndO9VVVOynU917T/CaGC9WQglGTk7C3jbUQq27lXec1fg1rCy4hTw03jbs6E8qCccenMZ9acnnnY+kJ9bsh4wl6/LECdpXUZsu23Uq+fLI1xxJxjgGyLub/d//yxFXxXpWVQGVgVHUdSMQlaWMpIl8T5e+qGS8CkfKjw3tP3+jaFcmBECfwOSCRTWYrNfnMCjIuyzUBzGjCnlOhA7/RWByMSdQl3soX++ciV5QUFizL5xF+OPcjDXonuAPAk1kY6bJnjr4gDdF+GCLUS3gdtbsygtpC3wSFFFPM2G8LKO9TZq09M395ARhWyUtefHVrmLOTpNEpcH9PSlc/EY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR04MB8291.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(26005)(2906002)(5660300002)(7696005)(83380400001)(55016003)(6506007)(8676002)(64756008)(66446008)(76116006)(66946007)(4326008)(9686003)(33656002)(8936002)(186003)(122000001)(66556008)(3480700007)(66476007)(30864003)(52536014)(44832011)(38100700002)(86362001)(71200400001)(316002)(508600001)(966005)(38070700005)(6916009)(54906003)(80162009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?5/klKi+rUMIOVJhbKXtH1OiGaIIMQtjX+wxH8L1EhY0mePsoazstK1yRYX+c?= =?us-ascii?Q?73EsrtwjJ7HXe8vZaIi7kLxC361Yg4CtHQO4TnyLUoAdm80bIDSlydHRYu2b?= =?us-ascii?Q?GTivJlCBxN8jZ8vJZ7/4pifDxhgPVjOkW/PoavZa/GP6wGTH7vft5i9LymZf?= =?us-ascii?Q?Qt0Hav2p3uFqFZ7rV8w+Hyp3EuE9P3QggdRdc0QV4nJXZn9kauBm3W0u1Vez?= =?us-ascii?Q?KOwix5Ah2ztVrudiKj2+7g6xFDAEy3Y6Pt+3hIopcAOSo4fJrC3EbJQbCeRH?= =?us-ascii?Q?Fo5UFBmaMbIeVwyWCc6JZFPK6cJhnu0KZFiMm7i93Xpg4Ue93qPMnRlNefzC?= =?us-ascii?Q?oYwtOEUN6mBwNoWl23ZzFpg7Vutyeg2iDB7e06OvhM8RKthdG1UuCpAuFQA2?= =?us-ascii?Q?sEAKQAX59WmQHlgSo6IEzUpgiP7jelZdA4NlOzeXOs24hex28wCCdsrm175m?= =?us-ascii?Q?dcbhTziLtB6m8/lv2Yah3i2cmDY0mubtLzfTZ08mMGdiJklztCC6qI+FjAQI?= =?us-ascii?Q?gGs5oeYwyO6jwWeAbEXEAOaKw0LA+eu6PI50t593K5hkxxaitEwJcRxbhiJI?= =?us-ascii?Q?N2UXHiyhoYg6IUnr7FhCxDAm0qm7IUEgR1TOsZjR54G8/3uYHD/LK1qhD7Pe?= =?us-ascii?Q?PZvnlqGHO/t6yQSM2zKriWpQXLE3wZzi4vgL4XdVByt/8p3fPceJDP4Tn/pp?= =?us-ascii?Q?21vjbn0K9i2TsZrQPVyWxipG0DABsyon2oV+7VTOpfOLEgplgaCKtoZcX+Uz?= =?us-ascii?Q?2Zrvnj1Q+PTSAoEhvAgFr62TL4jd6A6xgt3iB4hRfYaYRZKkWcAK4cSO4xAR?= =?us-ascii?Q?b4ddn1XJlIO4MrvXsIAzjSLGLt0II9UQ++tfeNDA+ch6RnuGuVeuNysX4oLx?= =?us-ascii?Q?vxA+UM9jDLdnnWUVv6NKAnRaPXNs33TKO/K9wHNvODtrqzOLrUqbiF2UR6Nn?= =?us-ascii?Q?Cjcroj/ZXcCfSO5XOLYn0baUEyhUXHI1zkBLSoA/PqIbHQKGpV12jgfVrZhZ?= =?us-ascii?Q?KdArPnRcOouheZwuJCDpZV2xvTE9O5XS5L21LK1Kax5uIByL7GkH6gRviODl?= =?us-ascii?Q?veuJfMCT3migUL5ZupfhYxdLZNJu4hR6MsyXyW5Ef/Cepk5TnzvSWjQC4SEh?= =?us-ascii?Q?2/8eR5xRWhMWltkDN/frSlOiQ8kMGD/R5BWUSkwyTm6yMcK8XZE0M1ZterVZ?= =?us-ascii?Q?icOQwIIfVjHVphjCc4MRImKKUPqp5F11eNN2Yflp+ZEJ+P3/1mCXzyPn8fsd?= =?us-ascii?Q?NT8YCD7qbYoAQ03DzyYhV+dXlmOK1Htc3kbHHEcDl5ttAyjjvE4viX9LQD3z?= =?us-ascii?Q?6wehSsIjoyezVLwZ09sFx6WSL9quT0b+pn3nG2I0R7H98yJP79rocOg8Fo+r?= =?us-ascii?Q?WTqLyR/rbz3WV1gVNeq5qMKXzsMqBE0gkNv1guxYOpG3Cs2QHdGcTFksELTU?= =?us-ascii?Q?baplKDJ9+1t1IGpDQ8MT6P8yHOkPbvxz2fHd3zD9dtXh+c3DVUI3rZWrq9R3?= =?us-ascii?Q?I3po70OK20gbRpMxMNuk/ZOtA4lttEK6u654tx6lHnXSQUXzg91MI2coqB27?= =?us-ascii?Q?RzLD5wX9DwlXOhJ86nt1BNsgMtIgvqv+1wnoXd7IFnEYZXm12CSgQZm5j89z?= =?us-ascii?Q?6ZBjvQlzfWfdA3axcny9hrwqODiQ+YxtplCE64cseu4JTamRsF2153TAXSc5?= =?us-ascii?Q?5a+u5H5hN8X0h5O5QqQVs7A5RD8+ZkWYPygYh45VltdJoJBp0rxOGIz7eDZI?= =?us-ascii?Q?FMCI7fzp3g=3D=3D?= MIME-Version: 1.0 X-OriginatorOrg: silk.us X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8291.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: de255eac-f7ef-4284-5a04-08da0e832608 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Mar 2022 17:16:06.7464 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4a3c5477-cb0e-470b-aba6-13bd9debb76b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jwp3Qas4TLvrXPFXKic/UMhWff0xhnHzkXYktsgtWh3QIrAZwaB9azZljEukQVcvA6d7q7upbNSp650cowf/vg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6339 X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, HTML_MESSAGE, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Mar 2022 17:16:11 -0000 Hi all, I want to discuss some needs that I think need to address. On async coding used mainly on networking and storage applications, how eve= r I believe on other applications as well, what we are doing is acquiring a= lock on the application level, and then call to the OS/kernel for sending/= writing Callback instead of waitengin on blocking for the sending/writing to finish= . After completing the OS, call the CB to release the transaction and the l= ock. The problem is that the current glibc implumnation doesn't support taking a= nd releasing the writer lock from different threads. I think it needs to be address . Actually I did the folwing change: index d3f36303bf..b1032cfa2a 100644 --- a/nptl/pthread_rwlock_unlock.c +++ b/nptl/pthread_rwlock_unlock.c @@ -36,8 +36,7 @@ __pthread_rwlock_unlock (pthread_rwlock_t *rwlock) because nobody else can have stored this value. Also, if we are a reader, we will read from the wrunlock store with value 0 by the most recent writer because that writer happens-before us. */ - if (atomic_load_relaxed (&rwlock->__data.__cur_writer) - =3D=3D THREAD_GETMEM (THREAD_SELF, tid)) + if (atomic_load_relaxed (&rwlock->__data.__cur_writer)) __pthread_rwlock_wrunlock (rwlock); else __pthread_rwlock_rdunlock (rwlock); On the current unlock function and seems to working so far on heavy load a= nd 3k threads. I believe it has some limitions and need farther review.and might be callin= g in different name,but I think it be good to have it. Your thout? Thx David