Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp454288ybh; Wed, 15 Jul 2020 06:32:10 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzwizg8eclGf4UtryfZjgJMVJe44Da5K7834fXOYqoyShTGAJj1e4tC5s2Rc4NXnQRdOctL X-Received: by 2002:a17:906:355b:: with SMTP id s27mr9723642eja.368.1594819930544; Wed, 15 Jul 2020 06:32:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594819930; cv=none; d=google.com; s=arc-20160816; b=jbAVEEMP5wM9bPvfHDF00Cvn/jIHyv67yYUYIxs3WLX1xboOaXIJ8d0Qsun2n1/XdZ VLtiFsCzF1Q2SGEk9GggskzsHK0zGMhu3HwrJtajxJ0mmBExzqNcrhsBNRXbVbLA8pXi 2JOpep5OuMz4Er8aM0r+w55/IZEX+3YnfcND0vxyalB+6WvHxPMR8Pt1m957Z5gdqBj2 b+XFaVvjVQoNCDSUA2Y8ZdhQflVZWbxlX0n+ybiCuwmPSVxqoQiZ5KY1MWlPiPVrn+0V RnGHaoXMr5p/l/6PewGcGJjhGMGh2nhvxA/1zt5qqwOw4RxPca5KQZ5YqU31hz+OB1Hn yNMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:thread-index:thread-topic :content-transfer-encoding:mime-version:subject:references :in-reply-to:message-id:cc:to:from:date:dkim-signature:dkim-filter; bh=oiV20TFEdg/WOjUfdcRO5DKrVFJm+7E+Ps+0ZX3tPDU=; b=eSCeAgMkV7aMmzawmLqgOUJFUBCt5yTZRtqWEwMoaLyaV9ik0smH+9sEM5petTARxx rdz50JJwIfBKERxmwNEEQei1scevVA5jf1tkHlvhKXeXNSqKn4DV/ZjcIxA+Uw4ql0T7 UUXrsReYP9q2VyFElTLQe5ho4jfe9QLd7jVaYVbDzXEWGbEFIPV0YrfFS31pCjYQCz4w 3MRrupjtBpoOq224swQHc9nos4qAo3NSCO43VEfBkTslPIwi2utnTrC3H3F6AgLt9UJ/ 7qJDotuRK1Hb9Q5w4x77cYtKxq9Bkxft1sjjv6I97NF+IfIHDspwTA2ARLSIfUptoiCm AmOw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@efficios.com header.s=default header.b=fChuM0sc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=efficios.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id rv26si1286378ejb.2.2020.07.15.06.31.41; Wed, 15 Jul 2020 06:32:10 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@efficios.com header.s=default header.b=fChuM0sc; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=efficios.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731785AbgGONbZ (ORCPT + 99 others); Wed, 15 Jul 2020 09:31:25 -0400 Received: from mail.efficios.com ([167.114.26.124]:55356 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731629AbgGONbZ (ORCPT ); Wed, 15 Jul 2020 09:31:25 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.efficios.com (Postfix) with ESMTP id 6F6FF281BB5; Wed, 15 Jul 2020 09:31:24 -0400 (EDT) Received: from mail.efficios.com ([127.0.0.1]) by localhost (mail03.efficios.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id x456bqztpUaV; Wed, 15 Jul 2020 09:31:24 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mail.efficios.com (Postfix) with ESMTP id 2CDA8281D33; Wed, 15 Jul 2020 09:31:24 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.efficios.com 2CDA8281D33 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=default; t=1594819884; bh=oiV20TFEdg/WOjUfdcRO5DKrVFJm+7E+Ps+0ZX3tPDU=; h=Date:From:To:Message-ID:MIME-Version; b=fChuM0scw5yPL3HRGW6aeXy1V5SY4zG8eVVUidUGRxoCvWlWzTozGvyw24z07q0yE yivaIoBlBe7zZzo+Ag8yDbpNyJrQGHuYRFnrjR/wc6WMRyd2pZti88UoPlOqMYXZzz L0wNSO3vfI3UAjo27v2TxsMZu2yq8SkDuZ0pXN4nzMjCTbOkn4Vf2wZiRKGnvk1pex 2+KFt2eD523DXEQb5qHPEhdxKLPze58Kkc/f0CC7ux7ooWyRC63mbQphOG16OR/Swl 3COZ1UK+9AqgSmQMysU3cl8PUYQWEfRpbgOA19Z9/pNDsYlJ+rqq2NVYIROFxRm7q5 egSHsn4sI2EMw== X-Virus-Scanned: amavisd-new at efficios.com Received: from mail.efficios.com ([127.0.0.1]) by localhost (mail03.efficios.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 3oemUUox7m-y; Wed, 15 Jul 2020 09:31:24 -0400 (EDT) Received: from mail03.efficios.com (mail03.efficios.com [167.114.26.124]) by mail.efficios.com (Postfix) with ESMTP id 1FC062819DC; Wed, 15 Jul 2020 09:31:24 -0400 (EDT) Date: Wed, 15 Jul 2020 09:31:24 -0400 (EDT) From: Mathieu Desnoyers To: Florian Weimer Cc: carlos , Peter Zijlstra , linux-kernel , Thomas Gleixner , paulmck , Boqun Feng , "H. Peter Anvin" , Paul Turner , linux-api , Christian Brauner Message-ID: <882700738.14181.1594819884049.JavaMail.zimbra@efficios.com> In-Reply-To: <87y2nk29rp.fsf@oldenburg2.str.redhat.com> References: <20200714030348.6214-1-mathieu.desnoyers@efficios.com> <87mu42bepq.fsf@oldenburg2.str.redhat.com> <131549905.11442.1594731035989.JavaMail.zimbra@efficios.com> <87a7028d5u.fsf@oldenburg2.str.redhat.com> <2452161.11491.1594732791558.JavaMail.zimbra@efficios.com> <71f08b3a-56f5-0e0f-53b0-cc680f7e8181@redhat.com> <2053637148.14136.1594818777608.JavaMail.zimbra@efficios.com> <87y2nk29rp.fsf@oldenburg2.str.redhat.com> Subject: Re: [RFC PATCH 2/4] rseq: Allow extending struct rseq MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [167.114.26.124] X-Mailer: Zimbra 8.8.15_GA_3955 (ZimbraWebClient - FF78 (Linux)/8.8.15_GA_3953) Thread-Topic: rseq: Allow extending struct rseq Thread-Index: V96wiIe8u1FFBKTMqXUWPRUhLORLEA== Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ----- On Jul 15, 2020, at 9:22 AM, Florian Weimer fweimer@redhat.com wrote: > * Mathieu Desnoyers: > >> Practically speaking, I suspect this would mean postponing availability of >> rseq for widely deployed applications for a few more years ? > > There is no rseq support in GCC today, so you have to write assembler > code anyway. Assembler code is only needed for the rseq critical sections, not for accessing the __rseq_abi. Use-cases like getting the current cpu number do not currently require any assembler for instance. So indeed it could be done today without upgrading the toolchains by writing custom assembler for each architecture to get the thread's struct rseq. AFAIU the ABI to access the thread pointer is fixed for each architecture, right ? How would this allow early-rseq-adopter libraries to interact with glibc ? Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com