Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp4849960imm; Sun, 26 Aug 2018 05:13:00 -0700 (PDT) X-Google-Smtp-Source: ANB0VdZeKYE1sOtP1acZq9DdGkbRmuuedMZmtjKj0AEqxOTCClErFbfXNxUNZfU/EjH/vWj+cC8T X-Received: by 2002:a17:902:1745:: with SMTP id i63-v6mr8891915pli.3.1535285580442; Sun, 26 Aug 2018 05:13:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1535285580; cv=none; d=google.com; s=arc-20160816; b=uemnYrfHhLZalvdK4ZQ4bYPrjDxjRaOpEGjY4cLq2JwAwDyJm3Irub6JSoPIB5zcN1 xxTAKi5rj1MxP0b662OjqDHtdL6e/fUiDFxFFwIDvs79+cv+ke4H6D64I08xdOwxpXLE yckOi0vriyRdlbBvHpWpK3yGtViL3shS5bXjxpR4ol3PSNyldF+oLWI1AF0ua612Aub4 qXDULE4U/fwJy8hSZOykkF77g3geKTSSnEswfJkB0zQIg5+ANghXBaQbGjDvxB7eUqSi 38ZMzyOqrRjO4/BVD2MQovxoWk6WX0CibZ0Vdtwr3qKBpQAoQgoZRvMd3ryI8hipXsW0 dzkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date :arc-authentication-results; bh=FQp1i3+uM/zcpOhZDDjiErav3EgjSx/XPd4znBsbHlY=; b=QweOMBk3NnfXxLnCPGij7JDUIrRisuXoseC7Dy7DOmZFN89nBxBgqu2Jp97xkL9l4i xvfCOF1bKZjy0lslUlcwCczD5JB1Mtt3JI3LacLRSyY9otDbmtekiEK6eyHr+tK5lxVO 4nysl36DxOPHfoS1RzYjrWHo4cs6WAWPe2zp2FI59UfYcK7f2BIirz2UvLfb5FgOgCXi RdmltGgCQvvhWqzVzS1p3I3WaLo1GGIutftGxOekvBFgfqfkct/zdBDd7va1JoxirB/W AOalSqoUJm9EsrWmHe+15GPpcosTYigmPRwHqn97Pp+cQCQ3pX95AGkIXrlD8xZE/hk6 grVA== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t80-v6si13424011pfk.228.2018.08.26.05.12.39; Sun, 26 Aug 2018 05:13:00 -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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726873AbeHZPxO (ORCPT + 99 others); Sun, 26 Aug 2018 11:53:14 -0400 Received: from Galois.linutronix.de ([146.0.238.70]:41712 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726542AbeHZPxO (ORCPT ); Sun, 26 Aug 2018 11:53:14 -0400 Received: from p4fea45ac.dip0.t-ipconnect.de ([79.234.69.172] helo=[192.168.0.145]) by Galois.linutronix.de with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA256:256) (Exim 4.80) (envelope-from ) id 1fttsK-0004pg-Eq; Sun, 26 Aug 2018 14:10:36 +0200 Date: Sun, 26 Aug 2018 14:10:35 +0200 (CEST) From: Thomas Gleixner To: "Jason A. Donenfeld" cc: LKML , netdev@vger.kernel.org, David Miller , Andy Lutomirski , Greg KH , Samuel Neves , linux-arch@vger.kernel.org, Rik van Riel Subject: Re: [PATCH v2 01/17] asm: simd context helper API In-Reply-To: <20180824213849.23647-2-Jason@zx2c4.com> Message-ID: References: <20180824213849.23647-1-Jason@zx2c4.com> <20180824213849.23647-2-Jason@zx2c4.com> User-Agent: Alpine 2.21 (DEB 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Linutronix-Spam-Score: -1.0 X-Linutronix-Spam-Level: - X-Linutronix-Spam-Status: No , -1.0 points, 5.0 required, ALL_TRUSTED=-1,SHORTCIRCUIT=-0.0001 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 24 Aug 2018, Jason A. Donenfeld wrote: > Sometimes it's useful to amortize calls to XSAVE/XRSTOR and the related > FPU/SIMD functions over a number of calls, because FPU restoration is > quite expensive. This adds a simple header for carrying out this pattern: > > simd_context_t simd_context = simd_get(); > while ((item = get_item_from_queue()) != NULL) { > encrypt_item(item, simd_context); > simd_context = simd_relax(simd_context); > } > simd_put(simd_context); I'm not too fond of this simply because it requires that relax() step in all code pathes. I'd rather make that completely transparent by just marking the task as FPU using and let the context switch code deal with it in case that it gets preempted. I'll let one of my engineers look into that next week. Thanks, tglx