From: "Jason A. Donenfeld" <Jason@zx2c4.com> To: Thomas Gleixner <tglx@linutronix.de> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>, LKML <linux-kernel@vger.kernel.org>, Netdev <netdev@vger.kernel.org>, Linux Crypto Mailing List <linux-crypto@vger.kernel.org>, David Miller <davem@davemloft.net>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Samuel Neves <sneves@dei.uc.pt>, Andrew Lutomirski <luto@kernel.org>, Jean-Philippe Aumasson <jeanphilippe.aumasson@gmail.com>, Russell King - ARM Linux <linux@armlinux.org.uk>, linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH net-next v6 07/23] zinc: ChaCha20 ARM and ARM64 implementations Date: Thu, 27 Sep 2018 15:26:18 +0200 [thread overview] Message-ID: <CAHmME9rN3-7Mj5JQqt2EFPauG9vjkN5pQn3tPiJY4fPiwksaDA@mail.gmail.com> (raw) In-Reply-To: <CAHmME9qNn5aRgtbV3bAsz3xW1A49a7RMMkOzGruBUPzLVUxVNg@mail.gmail.com> Hi Thomas, I'm trying to optimize this for crypto performance while still taking into account preemption concerns. I'm having a bit of trouble figuring out a way to determine numerically what the upper bounds for this stuff looks like. I'm sure I could pick a pretty sane number that's arguably okay -- and way under the limit -- but I still am interested in determining what that limit actually is. I was hoping there'd be a debugging option called, "warn if preemption is disabled for too long", or something, but I couldn't find anything like that. I'm also not quite sure what the latency limits are, to just compute this with a formula. Essentially what I'm trying to determine is: preempt_disable(); asm volatile(".fill N, 1, 0x90;"); preempt_enable(); What is the maximum value of N for which the above is okay? What technique would you generally use in measuring this? Thanks, Jason
WARNING: multiple messages have this Message-ID (diff)
From: Jason@zx2c4.com (Jason A. Donenfeld) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH net-next v6 07/23] zinc: ChaCha20 ARM and ARM64 implementations Date: Thu, 27 Sep 2018 15:26:18 +0200 [thread overview] Message-ID: <CAHmME9rN3-7Mj5JQqt2EFPauG9vjkN5pQn3tPiJY4fPiwksaDA@mail.gmail.com> (raw) In-Reply-To: <CAHmME9qNn5aRgtbV3bAsz3xW1A49a7RMMkOzGruBUPzLVUxVNg@mail.gmail.com> Hi Thomas, I'm trying to optimize this for crypto performance while still taking into account preemption concerns. I'm having a bit of trouble figuring out a way to determine numerically what the upper bounds for this stuff looks like. I'm sure I could pick a pretty sane number that's arguably okay -- and way under the limit -- but I still am interested in determining what that limit actually is. I was hoping there'd be a debugging option called, "warn if preemption is disabled for too long", or something, but I couldn't find anything like that. I'm also not quite sure what the latency limits are, to just compute this with a formula. Essentially what I'm trying to determine is: preempt_disable(); asm volatile(".fill N, 1, 0x90;"); preempt_enable(); What is the maximum value of N for which the above is okay? What technique would you generally use in measuring this? Thanks, Jason
next prev parent reply other threads:[~2018-09-27 13:26 UTC|newest] Thread overview: 213+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-09-25 14:55 [PATCH net-next v6 00/23] WireGuard: Secure Network Tunnel Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 01/23] asm: simd context helper API Jason A. Donenfeld 2018-09-28 8:28 ` Ard Biesheuvel 2018-09-28 8:28 ` Ard Biesheuvel 2018-09-28 8:49 ` Ard Biesheuvel 2018-09-28 8:49 ` Ard Biesheuvel 2018-09-28 13:47 ` Jason A. Donenfeld 2018-09-28 13:52 ` Ard Biesheuvel 2018-09-28 13:59 ` Jason A. Donenfeld 2018-09-28 14:00 ` Ard Biesheuvel 2018-09-28 14:01 ` Jason A. Donenfeld 2018-09-30 4:20 ` Joe Perches 2018-09-30 5:35 ` Andy Lutomirski 2018-10-01 1:43 ` Jason A. Donenfeld 2018-10-02 7:18 ` Ard Biesheuvel 2018-09-28 13:45 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 02/23] zinc: introduce minimal cryptography library Jason A. Donenfeld 2018-09-25 18:33 ` Joe Perches 2018-09-25 19:43 ` Jason A. Donenfeld 2018-09-25 20:00 ` Andy Lutomirski 2018-09-25 20:02 ` Jason A. Donenfeld 2018-09-25 20:05 ` Joe Perches 2018-09-25 20:12 ` Jason A. Donenfeld 2018-09-25 20:21 ` Joe Perches 2018-09-25 20:54 ` Jason A. Donenfeld 2018-09-25 21:02 ` Joe Perches 2018-09-25 21:03 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 03/23] zinc: ChaCha20 generic C implementation and selftest Jason A. Donenfeld 2018-09-28 15:40 ` Ard Biesheuvel 2018-09-28 15:40 ` Ard Biesheuvel 2018-09-29 1:53 ` Jason A. Donenfeld 2018-10-02 3:15 ` Herbert Xu 2018-10-02 3:18 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 04/23] zinc: ChaCha20 x86_64 implementation Jason A. Donenfeld 2018-09-28 15:47 ` Ard Biesheuvel 2018-09-28 15:47 ` Ard Biesheuvel 2018-09-29 2:01 ` Jason A. Donenfeld 2018-09-29 7:56 ` Borislav Petkov 2018-09-29 8:00 ` Ard Biesheuvel 2018-09-29 8:11 ` Borislav Petkov 2018-09-29 8:27 ` Abel Vesa 2018-10-02 1:09 ` Jason A. Donenfeld 2018-10-02 1:07 ` Jason A. Donenfeld 2018-10-02 3:18 ` Herbert Xu 2018-10-02 3:20 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 05/23] zinc: import Andy Polyakov's ChaCha20 ARM and ARM64 implementations Jason A. Donenfeld 2018-09-25 14:56 ` Jason A. Donenfeld 2018-09-28 15:49 ` Ard Biesheuvel 2018-09-28 15:49 ` Ard Biesheuvel 2018-09-28 15:51 ` Ard Biesheuvel 2018-09-28 15:51 ` Ard Biesheuvel 2018-09-28 15:51 ` Ard Biesheuvel 2018-09-28 15:57 ` Jason A. Donenfeld 2018-09-28 15:57 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 06/23] zinc: port " Jason A. Donenfeld 2018-09-25 14:56 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 07/23] zinc: " Jason A. Donenfeld 2018-09-25 14:56 ` Jason A. Donenfeld 2018-09-26 8:59 ` Ard Biesheuvel 2018-09-26 8:59 ` Ard Biesheuvel 2018-09-26 8:59 ` Ard Biesheuvel 2018-09-26 13:32 ` Jason A. Donenfeld 2018-09-26 13:32 ` Jason A. Donenfeld 2018-09-26 14:02 ` Ard Biesheuvel 2018-09-26 14:02 ` Ard Biesheuvel 2018-09-26 14:02 ` Ard Biesheuvel 2018-09-26 15:41 ` Jason A. Donenfeld 2018-09-26 15:41 ` Jason A. Donenfeld 2018-09-26 16:54 ` Ard Biesheuvel 2018-09-26 16:54 ` Ard Biesheuvel 2018-09-26 16:54 ` Ard Biesheuvel 2018-09-26 17:07 ` Jason A. Donenfeld 2018-09-26 17:07 ` Jason A. Donenfeld 2018-09-26 17:37 ` Eric Biggers 2018-09-26 17:37 ` Eric Biggers 2018-09-26 17:46 ` Jason A. Donenfeld 2018-09-26 17:46 ` Jason A. Donenfeld 2018-09-26 15:41 ` Ard Biesheuvel 2018-09-26 15:41 ` Ard Biesheuvel 2018-09-26 15:41 ` Ard Biesheuvel 2018-09-26 15:45 ` Jason A. Donenfeld 2018-09-26 15:45 ` Jason A. Donenfeld 2018-09-26 15:49 ` Jason A. Donenfeld 2018-09-26 15:49 ` Jason A. Donenfeld 2018-09-26 15:51 ` Ard Biesheuvel 2018-09-26 15:51 ` Ard Biesheuvel 2018-09-26 15:51 ` Ard Biesheuvel 2018-09-26 15:58 ` Jason A. Donenfeld 2018-09-26 15:58 ` Jason A. Donenfeld 2018-09-27 0:04 ` Jason A. Donenfeld 2018-09-27 0:04 ` Jason A. Donenfeld 2018-09-27 13:26 ` Jason A. Donenfeld [this message] 2018-09-27 13:26 ` Jason A. Donenfeld 2018-09-27 15:19 ` Jason A. Donenfeld 2018-09-27 15:19 ` Jason A. Donenfeld 2018-09-27 15:19 ` Jason A. Donenfeld 2018-09-27 16:26 ` Andy Lutomirski 2018-09-27 16:26 ` Andy Lutomirski 2018-09-27 17:06 ` Jason A. Donenfeld 2018-09-27 17:06 ` Jason A. Donenfeld 2018-09-26 16:21 ` Andy Lutomirski 2018-09-26 16:21 ` Andy Lutomirski 2018-09-26 16:21 ` Andy Lutomirski 2018-09-26 17:03 ` Jason A. Donenfeld 2018-09-26 17:03 ` Jason A. Donenfeld 2018-09-26 17:08 ` Ard Biesheuvel 2018-09-26 17:08 ` Ard Biesheuvel 2018-09-26 17:08 ` Ard Biesheuvel 2018-09-26 17:23 ` Andy Lutomirski 2018-09-26 17:23 ` Andy Lutomirski 2018-09-26 14:36 ` Andrew Lunn 2018-09-26 14:36 ` Andrew Lunn 2018-09-26 15:25 ` Jason A. Donenfeld 2018-09-26 15:25 ` Jason A. Donenfeld 2018-09-28 16:01 ` Ard Biesheuvel 2018-09-28 16:01 ` Ard Biesheuvel 2018-09-28 16:01 ` Ard Biesheuvel 2018-09-29 2:20 ` Jason A. Donenfeld 2018-09-29 2:20 ` Jason A. Donenfeld 2018-09-29 6:16 ` Ard Biesheuvel 2018-09-29 6:16 ` Ard Biesheuvel 2018-09-30 2:33 ` Jason A. Donenfeld 2018-09-30 2:33 ` Jason A. Donenfeld 2018-09-30 2:33 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 08/23] zinc: ChaCha20 MIPS32r2 implementation Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 09/23] zinc: Poly1305 generic C implementations and selftest Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 10/23] zinc: Poly1305 x86_64 implementation Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 11/23] zinc: import Andy Polyakov's Poly1305 ARM and ARM64 implementations Jason A. Donenfeld 2018-09-25 14:56 ` Jason A. Donenfeld 2018-10-03 6:12 ` Eric Biggers 2018-10-03 6:12 ` Eric Biggers 2018-10-03 7:58 ` Ard Biesheuvel 2018-10-03 7:58 ` Ard Biesheuvel 2018-10-03 7:58 ` Ard Biesheuvel 2018-10-03 14:08 ` Jason A. Donenfeld 2018-10-03 14:08 ` Jason A. Donenfeld 2018-10-03 14:45 ` Jason A. Donenfeld 2018-10-03 14:45 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 12/23] zinc: " Jason A. Donenfeld 2018-09-25 14:56 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 13/23] zinc: Poly1305 MIPS32r2 and MIPS64 implementations Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 14/23] zinc: ChaCha20Poly1305 construction and selftest Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 15/23] zinc: BLAKE2s generic C implementation " Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 16/23] zinc: BLAKE2s x86_64 implementation Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 17/23] zinc: Curve25519 generic C implementations and selftest Jason A. Donenfeld 2018-09-25 18:38 ` Joe Perches 2018-09-25 14:56 ` [PATCH net-next v6 18/23] zinc: Curve25519 x86_64 implementation Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 19/23] zinc: Curve25519 ARM implementation Jason A. Donenfeld 2018-09-25 14:56 ` Jason A. Donenfeld 2018-10-02 16:59 ` Ard Biesheuvel 2018-10-02 16:59 ` Ard Biesheuvel 2018-10-02 16:59 ` Ard Biesheuvel 2018-10-02 21:35 ` Richard Weinberger 2018-10-02 21:35 ` Richard Weinberger 2018-10-03 1:03 ` Jason A. Donenfeld 2018-10-03 1:03 ` Jason A. Donenfeld 2018-10-05 15:05 ` D. J. Bernstein 2018-10-05 15:05 ` D. J. Bernstein 2018-10-05 15:16 ` Ard Biesheuvel 2018-10-05 15:16 ` Ard Biesheuvel 2018-10-05 15:16 ` Ard Biesheuvel 2018-10-05 18:40 ` Jason A. Donenfeld 2018-10-05 18:40 ` Jason A. Donenfeld 2018-10-03 3:10 ` Jason A. Donenfeld 2018-10-03 3:10 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 20/23] crypto: port Poly1305 to Zinc Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 21/23] crypto: port ChaCha20 " Jason A. Donenfeld 2018-10-02 3:26 ` Herbert Xu 2018-10-02 3:31 ` Jason A. Donenfeld 2018-10-03 5:56 ` Eric Biggers 2018-10-03 14:01 ` Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 22/23] security/keys: rewrite big_key crypto to use Zinc Jason A. Donenfeld 2018-09-25 14:56 ` [PATCH net-next v6 23/23] net: WireGuard secure network tunnel Jason A. Donenfeld 2018-09-26 16:00 ` Ivan Labáth 2018-09-26 16:04 ` Jason A. Donenfeld 2018-11-05 13:06 ` Ivan Labáth 2018-11-12 23:53 ` Jason A. Donenfeld 2018-11-13 0:10 ` Dave Taht 2018-11-13 0:13 ` Jason A. Donenfeld 2018-09-27 1:15 ` Andrew Lunn 2018-09-27 22:37 ` Jason A. Donenfeld 2018-09-28 1:09 ` Jason A. Donenfeld 2018-09-28 15:01 ` Andrew Lunn 2018-09-28 15:04 ` Jason A. Donenfeld 2018-10-03 11:15 ` Ard Biesheuvel 2018-10-03 11:15 ` Ard Biesheuvel 2018-10-03 14:12 ` Jason A. Donenfeld 2018-10-03 14:13 ` Ard Biesheuvel 2018-10-03 14:25 ` Ard Biesheuvel 2018-10-03 14:28 ` Jason A. Donenfeld 2018-09-27 18:29 ` [PATCH net-next v6 00/23] WireGuard: Secure Network Tunnel Eric Biggers 2018-09-27 21:35 ` Jason A. Donenfeld 2018-09-28 1:17 ` Eric Biggers 2018-09-28 2:35 ` Jason A. Donenfeld 2018-09-28 4:55 ` Eric Biggers 2018-09-28 5:46 ` Jason A. Donenfeld 2018-09-28 7:52 ` Ard Biesheuvel 2018-09-28 13:40 ` Jason A. Donenfeld 2018-10-02 3:39 ` Herbert Xu 2018-10-02 3:45 ` Jason A. Donenfeld 2018-10-02 3:49 ` Herbert Xu 2018-10-02 6:04 ` Ard Biesheuvel 2018-10-02 6:43 ` Richard Weinberger 2018-10-02 12:22 ` Jason A. Donenfeld 2018-10-03 6:49 ` Eric Biggers 2018-10-05 13:13 ` Jason A. Donenfeld 2018-10-05 13:37 ` Richard Weinberger 2018-10-05 13:46 ` Jason A. Donenfeld 2018-10-05 13:53 ` Richard Weinberger 2018-10-05 17:50 ` David Miller 2018-09-28 17:47 ` Ard Biesheuvel 2018-09-29 2:40 ` Jason A. Donenfeld 2018-09-29 5:35 ` Willy Tarreau
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAHmME9rN3-7Mj5JQqt2EFPauG9vjkN5pQn3tPiJY4fPiwksaDA@mail.gmail.com \ --to=jason@zx2c4.com \ --cc=ard.biesheuvel@linaro.org \ --cc=davem@davemloft.net \ --cc=gregkh@linuxfoundation.org \ --cc=jeanphilippe.aumasson@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-crypto@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=luto@kernel.org \ --cc=netdev@vger.kernel.org \ --cc=sneves@dei.uc.pt \ --cc=tglx@linutronix.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.