Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp1074860imm; Wed, 13 Jun 2018 12:54:23 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLZtnRbPppEfcKP6Q4L73/zQ25dRwBkMLv2YPC/iC4hZbefPqNCsTdjE9+RgBJxlofdpzXB X-Received: by 2002:a62:de03:: with SMTP id h3-v6mr6314575pfg.46.1528919663833; Wed, 13 Jun 2018 12:54:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528919663; cv=none; d=google.com; s=arc-20160816; b=jJ4ihOsmhzLK1UA4Aexw1tJF7iQXPMmhXvrAhrBfwjWRRVt8LJOiVrEAoVw/byHXCE 6sF6MFp76wni4IlJ032Cq25N60XGCtEh51UTRe9qH8dKUZjYCzWNTTR+mF+B195t8l9l +6S4Z3MXA7wxZhjzIe/P264BClwezIfBPZWm1ZbQXAp2uUG0dAqd7SoITAT8nWV4LhIg sQFe/JMgg/vS4SWu30YnuHTPfKGyCGXC716w37M5ZgGVONAJhhVbMbgJn4MRKlD78dLM NvIhr0HM5hOQClKz82UVtfhQJ9T5/f45evcXVq0f1nKQK0znVNpRkjqD533FW8+ePhWC +fDQ== 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 :arc-authentication-results; bh=yd/eeBmKIprsrTxSBO5JeaYBDaAjWghXodKUtL+RhIw=; b=t4P/+dbMbLjvE0WYdGBJDnkYalIsCm3pzu4AENexCXHGCj7uiE5FvT4es+Hjqf5RcJ G6B3+GbZo1KW4KhtVzDP2P0EiepwnRUypsg5fQa8WknuII8XbZ2OErgO2ZIkdjUJeQtC gy1koPxnJW6cRlIKFIseegXAQmvyk8saQ+OREjx02YHJtEU1KKw8gRbyeQr2qBUSb7vF 3DuzadE9egs7Jq6L3o7wYiTro73CrxPyiaBXCEFZmUeM/iSzUPamtRUD/BlAPykhQcDW DVVhAmjVSCDee1axYMF/m3gf6exVjp9fC6Zze0U2jHC+Y7TU7nRq+k/AXPadU01r3JSz C0cA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@efficios.com header.s=default header.b=TCXmlJj3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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. [209.132.180.67]) by mx.google.com with ESMTP id c10-v6si2785295pgv.446.2018.06.13.12.54.09; Wed, 13 Jun 2018 12:54:23 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@efficios.com header.s=default header.b=TCXmlJj3; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 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 S935555AbeFMTxl (ORCPT + 99 others); Wed, 13 Jun 2018 15:53:41 -0400 Received: from mail.efficios.com ([167.114.142.138]:43412 "EHLO mail.efficios.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935206AbeFMTxk (ORCPT ); Wed, 13 Jun 2018 15:53:40 -0400 Received: from localhost (ip6-localhost [IPv6:::1]) by mail.efficios.com (Postfix) with ESMTP id 6BB7622A902; Wed, 13 Jun 2018 15:53:39 -0400 (EDT) Received: from mail.efficios.com ([IPv6:::1]) by localhost (mail02.efficios.com [IPv6:::1]) (amavisd-new, port 10032) with ESMTP id U3iqaLrO-PSA; Wed, 13 Jun 2018 15:53:39 -0400 (EDT) Received: from localhost (ip6-localhost [IPv6:::1]) by mail.efficios.com (Postfix) with ESMTP id 0A3F522A8FF; Wed, 13 Jun 2018 15:53:39 -0400 (EDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.efficios.com 0A3F522A8FF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=efficios.com; s=default; t=1528919619; bh=yd/eeBmKIprsrTxSBO5JeaYBDaAjWghXodKUtL+RhIw=; h=Date:From:To:Message-ID:MIME-Version; b=TCXmlJj3Ta0gUj3y0wgLFrNUa6Hvq8IVq8pXy/Ewha11h1kDrl14uZpydU3YnRxMv nnsuQy3ad7TEGs1qe1LdKvwcctO9nusuX1U7qgvptzHLwpxWuKWFnLAsYd7yS/YLMJ rByUqhymT7I0RUnoho+rzTy5UgcudtFLCHvz+xaZ2JdVDCN159unyostnT8KGzLlNk PulT8kvnSr7a7NRbHcI8Lz6EeEcwQguEazVYD67vpQq2OsEtBEM9G52dSLSJeMnFFv Bau6BkqnRWtqMA5vjrlll18FRKkWF7uiDfTtAnfaPJc+xSFWbvvJIWZXYa9TIbTe67 MBkG+yXZ49zWA== X-Virus-Scanned: amavisd-new at efficios.com Received: from mail.efficios.com ([IPv6:::1]) by localhost (mail02.efficios.com [IPv6:::1]) (amavisd-new, port 10026) with ESMTP id 7A0e2L4c-NyH; Wed, 13 Jun 2018 15:53:38 -0400 (EDT) Received: from mail02.efficios.com (mail02.efficios.com [167.114.142.138]) by mail.efficios.com (Postfix) with ESMTP id E8B5922A8F8; Wed, 13 Jun 2018 15:53:38 -0400 (EDT) Date: Wed, 13 Jun 2018 15:53:38 -0400 (EDT) From: Mathieu Desnoyers To: heiko carstens Cc: carlos , Florian Weimer , Peter Zijlstra , "Paul E. McKenney" , Boqun Feng , Thomas Gleixner , linux-kernel , libc-alpha Message-ID: <410804326.12703.1528919618748.JavaMail.zimbra@efficios.com> In-Reply-To: <1904010978.12481.1528906458944.JavaMail.zimbra@efficios.com> References: <1084280721.10859.1528746558696.JavaMail.zimbra@efficios.com> <20180613114811.GC4342@osiris> <1904010978.12481.1528906458944.JavaMail.zimbra@efficios.com> Subject: Re: Restartable Sequences system call merged into Linux MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [167.114.142.138] X-Mailer: Zimbra 8.8.8_GA_2096 (ZimbraWebClient - FF52 (Linux)/8.8.8_GA_1703) Thread-Topic: Restartable Sequences system call merged into Linux Thread-Index: 03097Zs90n0PWzBVhsrdocLBo0GNP4y7Ih5R Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ----- On Jun 13, 2018, at 12:14 PM, Mathieu Desnoyers mathieu.desnoyers@efficios.com wrote: > ----- On Jun 13, 2018, at 7:48 AM, heiko carstens heiko.carstens@de.ibm.com > wrote: [...] >> >> Is there any documentation available of what is the exact semantics of the >> functions that have to be implemented for additional architectures? > > It's documented on top of kernel/rseq.c: > [...] > > The first architecture implemented was rseq-x86.h. Boqun derived rseq-ppc.h > from it, and I derived rseq-arm.h from it. Feel free to start from whichever > architecture has the instruction set which is most similar to yours. One more thing: adding full support for your architecture to the rseq selftests also requires to extend tools/testing/selftests/rseq/param_test.c to implement the RSEQ_INJECT_INPUT, INJECT_ASM_REG, RSEQ_INJECT_CLOBBER and RSEQ_INJECT_ASM macros for your architecture. Those are simply defining the inline asm operands and assembly code needed to inject delay loops within the rseq critical sections, which greatly facilitates testing. Thanks, Mathieu -- Mathieu Desnoyers EfficiOS Inc. http://www.efficios.com