From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10044.outbound.protection.outlook.com [40.107.1.44]) by sourceware.org (Postfix) with ESMTPS id 17F143857C7B for ; Mon, 8 Mar 2021 09:34:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 17F143857C7B Received: from DB6P192CA0013.EURP192.PROD.OUTLOOK.COM (2603:10a6:4:b8::23) by DB7PR08MB3466.eurprd08.prod.outlook.com (2603:10a6:10:42::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.20; Mon, 8 Mar 2021 09:34:15 +0000 Received: from DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com (2603:10a6:4:b8:cafe::44) by DB6P192CA0013.outlook.office365.com (2603:10a6:4:b8::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Mon, 8 Mar 2021 09:34:15 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; sourceware.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;sourceware.org; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by DB5EUR03FT044.mail.protection.outlook.com (10.152.21.167) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Mon, 8 Mar 2021 09:34:15 +0000 Received: ("Tessian outbound dd71fb35fd76:v71"); Mon, 08 Mar 2021 09:34:15 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: d2173d728fb55bb0 X-CR-MTA-TID: 64aa7808 Received: from 55340b5feb84.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 99F65441-EFBB-45C3-A825-FFBB1296123D.1; Mon, 08 Mar 2021 09:34:09 +0000 Received: from FRA01-PR2-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 55340b5feb84.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Mon, 08 Mar 2021 09:34:09 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DtjNGO6ufUKBImoU2hK15md1EeqVmmcDNCgrPEfKPkLUfh3OdDjHHJKopxNJBHLk5tfpGI7oKAz+fdOvF9UDENDQt5tJC0EEquJUo5kPZyH/MEy6GVSbpT+AhQS/gWSmt/FHSmoqQOz4wMP4djWBFcyPXsH3HQDFigbPvCwACdA27J5ZPM118qQuJoBO7U/deMeQjY/BXhvb4Pt1HwqX4tgDWgWi6a/EX9v1uIpZzd9i+oUy//ETtRkL/GICtvnR/u2BJFdAbWjVgF32yYcRVKPmNTVJVGn46rjcYK4EEMFRTIy09jHjrVGKDYrRJGXRbVyoIOjKyPwsO1tnL4uS9A== 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-SenderADCheck; bh=eq9g25adsDPgMRdPOKJLRULVFH+IlitIUfFD+C1r3e0=; b=Jk850r1MyhlhTIjERC3cmWZJbCV4PZu+0jLhp9mTEFIBGrn1d1M45DqFFY+N/ptLeKvN4Dor7uWaIoMqcKTRFjJQO0lOK5VJT2zbIG3Ym6pVHN5m2RqJu71dssH/0Fwr57M9/UGKfsLjumpDFZEBnnNoTVvYAPW5E8hGg0KYwmFFhpQ/OGgDnpK3n0Ut4+XjDO/gb93n+BcmOnh29RuWVoK4/PLXNVQcStzfXXjDsH7e7JYufwLRaV2LJBBm9wTmkkGBgz/C6FCSFETvwlkyXEE9BfV1b31lQqeShMd2JW+c8Z+N5Bdzxf0Qj1CvcUD+T7EF7Rsj3ZA8k+QbiLmgRA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none Authentication-Results-Original: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; Received: from PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) by PR2PR08MB4841.eurprd08.prod.outlook.com (2603:10a6:101:27::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3890.26; Mon, 8 Mar 2021 09:34:08 +0000 Received: from PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::60f0:3773:69b8:e336]) by PA4PR08MB6320.eurprd08.prod.outlook.com ([fe80::60f0:3773:69b8:e336%2]) with mapi id 15.20.3912.027; Mon, 8 Mar 2021 09:34:08 +0000 Date: Mon, 8 Mar 2021 09:34:01 +0000 From: Szabolcs Nagy To: Wilco Dijkstra Cc: "dj@redhat.com" , 'GNU C Library' Subject: Re: [PATCH 00/16] memory tagging improvements Message-ID: <20210308093358.GW12795@arm.com> References: Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Originating-IP: [217.140.106.55] X-ClientProxiedBy: SA9PR03CA0018.namprd03.prod.outlook.com (2603:10b6:806:20::23) To PA4PR08MB6320.eurprd08.prod.outlook.com (2603:10a6:102:e5::9) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from arm.com (217.140.106.55) by SA9PR03CA0018.namprd03.prod.outlook.com (2603:10b6:806:20::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3912.17 via Frontend Transport; Mon, 8 Mar 2021 09:34:06 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: bf8d196f-c8ec-4da9-af08-08d8e21556db X-MS-TrafficTypeDiagnostic: PR2PR08MB4841:|DB7PR08MB3466: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:6430;OLM:6430; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: 2p+iggaLs7lXvHMnQ/G8YPw+MSySeWZnZuTUH7w1aipo2iiBZmvmU8ITOPjdHewiI5WYX7Y5Lo+Vx7kUJ1bzMqsrVO/0xDF03Bp8bl2NIuteyaMPiwcKo86jVCz9xRREabvMDNSOL7Qee8UMxJPqqVQRM5/gI42FqAV65PbVtPl7d78szNmOLimoFkC7TkxjMGNAbntwwWmAQFfuth9MCvj0CJZ2m7DHDoGP+twKL4slWyS278oU8vset24GNv0CSN9DVPqcxrB/XkS0rtuKSIdvLu8UFwPpdT5kR4Qr40Md4/Lk5XX+yuAI6PYxuadWLe0vPQhV3+LkW5Nmz4HYi7UQdC+PtvGKjR/bBVK65wGFePqy3VJV8UOcZQO++CjBE/U96r9rCBwLRUClqsL3zih+HqikgetF1/t8XEYK+Ky7mnzM8qC/hdlXckHfvvBwHkgWQE5PcRwfUklMRZ3Fp49Xh/MxnJrQ0+E8Fk1NcrY+s8QE55WiNgrMk8cEFl23E7+l77pjqFjfD2XZCZpQdw== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR08MB6320.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39860400002)(346002)(136003)(396003)(366004)(956004)(478600001)(5660300002)(2906002)(2616005)(36756003)(6666004)(86362001)(26005)(186003)(54906003)(83380400001)(37006003)(1076003)(55016002)(6636002)(8676002)(6862004)(16526019)(4326008)(316002)(33656002)(8936002)(66476007)(66946007)(8886007)(66556008)(7696005)(52116002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?eUxKZjV4NlhtbEFRSVZvZHNHb3h6LzNIZjdLQVM0dDRESGJsMWcvR3hhR0U1?= =?utf-8?B?Q1gwa3lzUi9OaTFkNjhRNDdkMWc1V0daZ0JjTTFUMno2a2RVZWJVdkxLdG9t?= =?utf-8?B?K0tDazNISU1QdDNRa0hlTlFLdGJpSC9LSVdJa0tQQTYyejhtMUtnNkRxQS9I?= =?utf-8?B?aHNmTkNMNE1kNWZ2bzYxSlVZN1JrdFF2N2IrUWxWc3kycnh2cFZjczQzRG05?= =?utf-8?B?c2dDbERmQjVUYjlmbUt4SStNbzRWYzN5M2dEU3BTb1M3OHhPWTc4bzRiaXdQ?= =?utf-8?B?TUVCV3BmMklaSzM0bld1MXh3clFjQnJUR1NMMHhMSCszclQ3ejJNUWYwdTZT?= =?utf-8?B?ZVF5WVZvekZtOHlLcnRoRmttMVNnQ2NtckxhUG9HTnRRSVVmZi9RYTNWZlYx?= =?utf-8?B?YTBxN2xSQWpleStZTzhST3U3WmZwK3NlbE5ONk92RnNpbDNlQkN0VXdiTjh2?= =?utf-8?B?a0JiK0M2UUF5SXdQUGsyeFNvdFBxTnhObXFMdmthUDNCMHRPZnJyZ056eWx6?= =?utf-8?B?NTFQaWx1Qk9NZWZXN3ZXVWY1a01XaTQ1NVgybjJEcEwwV1U5dGRtaFZjLzhI?= =?utf-8?B?K05EWW52WlQvaGFDYTVJcWlrcU1MTXJIRjlIZnlqRG5rc1F2dllYQjhRNExS?= =?utf-8?B?ZFFTdVRscWl2OEx2Z2EwbTNTeHhxcStjUEpLZDZ2elFtZXpSTkpDUU1rTG1i?= =?utf-8?B?MzlOMXoyQjRhRTBnT0ZFaUFsR095aFg3b2p0V2Z1d3pCZ3BjQkdqTVMxNHJi?= =?utf-8?B?QUpCNzFmNGxOUkdqbXlSZlJLSURmeVZFb1BncUQrc0N3WkxqQ1RHRUxYdmti?= =?utf-8?B?VmRaYjFCQ3JZV01jaTFJQnduQ2JTbnBiUDh2Uy96THQ2TDZyNmw0VHg4TzY1?= =?utf-8?B?ZFgzbmY5cHdaOWE0VDdBeG9wSUJhT0lBMUszSTFoTlE0RmpUQThjZXQ4VVBq?= =?utf-8?B?TmVpRGlsdzVPbGYyaEdWYlpZSm5IL0laV3F4aVB1dURCTXFzQUNPQktvMjg0?= =?utf-8?B?U09PZEZ1Z2lzWHpLajJZaDNKR0dMV05rRDBjN2tLYjFDempqMXhVa2MxSGI0?= =?utf-8?B?U3F6QWFSSEFxOUorYitYREFnTFNTaU5EVWo1cGtHaFRzbFpHZlRBZERRODRa?= =?utf-8?B?MFNmWGhxM0ErNElJOHVCWkVqbEt6TnplaWtXUGx4YkhrNHh1NURleVJPdFR6?= =?utf-8?B?MHRDTmtGZWxIOGtDTTE4ZWVhRkpSbTNlSVpCVHFTeTNCb2FkZHloeitUdnlJ?= =?utf-8?B?MzJXQjl1WUthTHlpeEo1MjVocExGdnlTMElZY0lkOUw1T1cxYUdkSmczeUc5?= =?utf-8?B?UG1pc05BaUhOUVVyYm9GeGNxTjlJTGJFdHFaa29lZVZFSDFLNU9YS0NsSHpD?= =?utf-8?B?bWJ4cVBCbXdIaGFaUDlhckwzOXlVUjk2YlAwUjlEWjBqazJHSzBsMjQyZElG?= =?utf-8?B?SlJrMzlXSk8yTmV0TnA5NmI1UmJzd29oSVZ1bFhzYVlZbUszK3FoNGpMOEdw?= =?utf-8?B?R21vV2NNbEVjVm9iYk1jN3VTejdXbFkzeWlSUFJVR3FqelRCN29sRWI1SU1F?= =?utf-8?B?NmZpczBBSktaUWJ0aUZBbWlEYnc1RlVxaldVZGJ3WXZ2dW5kN0FTSkRKS0ds?= =?utf-8?B?VkNBWjVjWGNnaVBDdTJiWXc2QjFRUkIxZmtkeEVLdnFjSUZ6QWF2UUo3RlQy?= =?utf-8?B?ZSt5WEJnbHNOOFhBZEdpM1FaMG5pSXRySG9xekNOSUJLTWdYeGNBRjFNK09B?= =?utf-8?Q?2Z7K43N0FtdHuDwav/zwDUEUFVYneH6OSWJHppU?= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR2PR08MB4841 Original-Authentication-Results: arm.com; dkim=none (message not signed) header.d=none;arm.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 649f55f8-358d-4757-daa7-08d8e215527a X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: i5IN29+xDPbLk//ElmeO9wlWuuhfEmpYdIZ0nLqMBdROhHPCVH0+oKbgKheyCK14qHbffvwVao+mhhLTUrWnHg9oVBTu37TeHA4W7OiuEsJyt02u6d4hfy0Zo+Q2T1zg3qqD6Tvw8AqiwyQB0VGniSLwT7rklqANpnCkgyTxKV+Y2nbGJXLO7okfTbpTn77g81F0Dyru67uc+T6ix/LhM6ElEuQ2ufVOxbMzV9usFHSjTf/EcJG20oQW/HHxHrVGbMje0Av6v6Kc/ljiSbWpVD42Src1Oo5sGIDRVfDxJOv6B1R3Vj1G7eyH4wh/QbTTTf3Ccxciub8yN71qQJY4lRukQGsNDilupNzf7uwnYTaRltbaVxyGL9LMifa0sPzhHHgjLeQdwrjJ7+Tc4JbozFto0KgH56Qn+WEzWEm4USMzk2uAXbGKig+Y1hfViAJpVk7dqjRUvGRBRQZbGuhohsEET7dErDwi3Tyr/yP8qxsKSOICazgDUuhBZdISpRGaBsaeNU+fYCtaiV5UjqFQ/KrN4cAi8edX+n5PYCxHJgP60hEsgDbMENHkL4ggMUY15YQAXfuR7DbOpW+w1JYCC4f1Ga6dn9Z3guxsRDf+df3CPcjPyeoCS7gAdw0FtYCFn3RqfZ7HL9laK693OZ5v6m/PmRxmyj2U5N8XkySnSrA= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(46966006)(36840700001)(47076005)(37006003)(70586007)(36860700001)(5660300002)(8936002)(16526019)(86362001)(8676002)(336012)(498600001)(6636002)(54906003)(1076003)(2906002)(4326008)(36756003)(956004)(6862004)(356005)(33656002)(186003)(8886007)(6666004)(83380400001)(70206006)(2616005)(7696005)(55016002)(82310400003)(26005)(81166007); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Mar 2021 09:34:15.2273 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: bf8d196f-c8ec-4da9-af08-08d8e21556db X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: DB5EUR03FT044.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3466 X-Spam-Status: No, score=-7.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, MSGID_FROM_MTA_HEADER, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_PASS, TXREP, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org 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: Mon, 08 Mar 2021 09:34:29 -0000 The 03/05/2021 21:36, Wilco Dijkstra wrote: > > - request2size and checked_request2size are not consistent which looks > > wrong (likely works in practice other than some sizes don't end up in > > fastbin or tcache that one might expected to, but i think this can > > break easily). Fixing it is not obvious because of assumptions about > > the chunk layout that is no longer true with mtag enabled. > > It's better to change request2size to round up differently if tagging is > required. That avoids dynamically changing how chunks are rounded up. ... > > - unconditional top byte zero > > internal data is tagged 0, only user allocation is tagged non-zero > > That's a great idea! Many chunk2mem can be changed into chunk2rawmem > approximately halving the overhead. And mem2chunk can unconditionally mask > out the tag (note all this could be made target-dependent if needed). i will look into this, i expected it to need bigger changes. > > - unconditional layout > > padding up to tag granule can be done unconditionally > > good: no runtime check, same layout with and without heap tagging. > > bad: wasting space with small allocations, design change. > > This is unconditionally good for performance and avoids the request2size oddities. > If we're worried about memory usage, we need to talk about modern malloc > implementations that don't add a 16-byte header to every block. i think it is not enough to change request2size, one would have to audit the code for hidden assumptions about the layout, so even if we are happy to waste another word per small allocations, it is not an obvious change. (right now the logic is a bit ugly, but the ugliness only affects behaviour in the tagging case)