devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Eric Biggers <ebiggers@kernel.org>
To: Charlie Jenkins <charlie@rivosinc.com>
Cc: "Conor Dooley" <conor.dooley@microchip.com>,
	"Jesse Taube" <jesse@rivosinc.com>,
	linux-riscv@lists.infradead.org,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Paul Walmsley" <paul.walmsley@sifive.com>,
	"Palmer Dabbelt" <palmer@dabbelt.com>,
	"Albert Ou" <aou@eecs.berkeley.edu>,
	"Conor Dooley" <conor@kernel.org>,
	"Rob Herring" <robh@kernel.org>,
	"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
	"Clément Léger" <cleger@rivosinc.com>,
	"Evan Green" <evan@rivosinc.com>,
	"Andrew Jones" <ajones@ventanamicro.com>,
	"Xiao Wang" <xiao.w.wang@intel.com>,
	"Andy Chiu" <andy.chiu@sifive.com>,
	"Greentime Hu" <greentime.hu@sifive.com>,
	"Björn Töpel" <bjorn@rivosinc.com>,
	"Heiko Stuebner" <heiko@sntech.de>,
	"Costa Shulyupin" <costa.shul@redhat.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Baoquan He" <bhe@redhat.com>,
	"Anup Patel" <apatel@ventanamicro.com>,
	"Zong Li" <zong.li@sifive.com>,
	"Sami Tolvanen" <samitolvanen@google.com>,
	"Ben Dooks" <ben.dooks@codethink.co.uk>,
	"Alexandre Ghiti" <alexghiti@rivosinc.com>,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	"Erick Archer" <erick.archer@gmx.com>,
	"Joel Granados" <j.granados@samsung.com>,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v2 4/6] RISC-V: Detect unaligned vector accesses supported.
Date: Fri, 21 Jun 2024 10:58:16 -0700	[thread overview]
Message-ID: <20240621175816.GD2081@sol.localdomain> (raw)
In-Reply-To: <ZnW130PqW56CnZT8@ghost>

On Fri, Jun 21, 2024 at 10:18:23AM -0700, Charlie Jenkins wrote:
> > Additionally, what are we doing in the kernel if we detect that
> > misaligned stuff isn't supported? Are we going to mandate that kernel
> > code is aligned only, disable in-kernel vector or some other mechanism
> > to make sure that things like crypto code don't have/introduce code
> > that'll not run on these systems?
> 
> UNSUPPORTED will still be set by the quick probe so it would be possible
> for the kernel/userspace to avoid running misaligned vector when it's
> unsupported. Any kernel methods would probably want to always run
> aligned vector unless misaligned support was determined to be FAST
> anyway, I am doubtful that code will have different optimizations for
> FAST, SLOW, and UNSUPPORTED but it is possible. 
> 
> I would prefer consistency between scalar and vector misaligned support,
> but this is not a deal breaker for this patch. I am not convinced it is
> the best choice, but I am okay with leaving this option in the kernel.
> 

Note that most of the vector crypto code (in arch/riscv/crypto/) assumes that
vector misaligned accesses are supported.  Many of the RISC-V vector crypto
instructions require using SEW=32 or SEW=64, and as a result, loads and stores
of data can be misaligned unless the code changes the SEW to 8 and back again,
which would be inefficient and add extra complexity.  I don't anticipate
workarounds for CPUs that couldn't be bothered to support misaligned accesses
being added.  So what we'll probably have to do is just disable the vector
crypto algorithms if the CPU doesn't support misaligned accesses...

- Eric

  reply	other threads:[~2024-06-21 17:58 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-13 19:16 [PATCH v2 0/6] RISC-V: Detect and report speed of unaligned vector accesses Jesse Taube
2024-06-13 19:16 ` [PATCH v2 1/6] RISC-V: Add Zicclsm to cpufeature and hwprobe Jesse Taube
2024-06-14  8:09   ` Conor Dooley
2024-06-17  3:18     ` Andy Chiu
2024-06-13 19:16 ` [PATCH v2 2/6] dt-bindings: riscv: Add Zicclsm ISA extension description Jesse Taube
2024-06-14  8:06   ` Conor Dooley
2024-06-13 19:16 ` [PATCH v2 3/6] RISC-V: Check scalar unaligned access on all CPUs Jesse Taube
2024-06-14  8:22   ` Conor Dooley
2024-06-17 23:56     ` Charlie Jenkins
2024-06-13 19:16 ` [PATCH v2 4/6] RISC-V: Detect unaligned vector accesses supported Jesse Taube
2024-06-14  8:36   ` Conor Dooley
2024-06-14  8:40     ` Conor Dooley
2024-06-14 14:28       ` Jesse Taube
2024-06-14 14:32         ` Conor Dooley
2024-06-17 16:39   ` Charlie Jenkins
2024-06-18  1:43   ` Charlie Jenkins
2024-06-18  2:09     ` Charlie Jenkins
2024-06-20 21:31       ` Jesse Taube
2024-06-20 22:14         ` Charlie Jenkins
2024-06-20 23:08           ` Jesse Taube
2024-06-21 10:06           ` Conor Dooley
2024-06-21 17:18             ` Charlie Jenkins
2024-06-21 17:58               ` Eric Biggers [this message]
2024-06-21 18:02                 ` Conor Dooley
2024-06-21 18:07               ` Jesse Taube
2024-06-22 11:42                 ` Conor Dooley
2024-06-20 18:51   ` Evan Green
2024-06-24  5:34     ` Andy Chiu
2024-06-24 16:57       ` Evan Green
2024-06-13 19:16 ` [PATCH v2 5/6] RISC-V: Report vector unaligned access speed hwprobe Jesse Taube
2024-06-20 18:51   ` Evan Green
2024-06-13 19:16 ` [PATCH v2 6/6] RISC-V: hwprobe: Document unaligned vector perf key Jesse Taube
2024-06-20 18:51   ` Evan Green
2024-06-21 18:30     ` Jesse Taube

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=20240621175816.GD2081@sol.localdomain \
    --to=ebiggers@kernel.org \
    --cc=ajones@ventanamicro.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexghiti@rivosinc.com \
    --cc=andy.chiu@sifive.com \
    --cc=aou@eecs.berkeley.edu \
    --cc=apatel@ventanamicro.com \
    --cc=ben.dooks@codethink.co.uk \
    --cc=bhe@redhat.com \
    --cc=bjorn@rivosinc.com \
    --cc=charlie@rivosinc.com \
    --cc=cleger@rivosinc.com \
    --cc=conor.dooley@microchip.com \
    --cc=conor@kernel.org \
    --cc=corbet@lwn.net \
    --cc=costa.shul@redhat.com \
    --cc=devicetree@vger.kernel.org \
    --cc=erick.archer@gmx.com \
    --cc=evan@rivosinc.com \
    --cc=greentime.hu@sifive.com \
    --cc=gustavoars@kernel.org \
    --cc=heiko@sntech.de \
    --cc=j.granados@samsung.com \
    --cc=jesse@rivosinc.com \
    --cc=krzk+dt@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-riscv@lists.infradead.org \
    --cc=palmer@dabbelt.com \
    --cc=paul.walmsley@sifive.com \
    --cc=robh@kernel.org \
    --cc=samitolvanen@google.com \
    --cc=xiao.w.wang@intel.com \
    --cc=zong.li@sifive.com \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).