From: Raj Vishwanathan <raj.vishwanathan@gmail.com>
To: opensbi@lists.infradead.org
Subject: [PATCH v2] Align SBI trap registers to a nice boundary for performance reasons.
Date: Mon, 10 Feb 2025 14:47:55 -0800 [thread overview]
Message-ID: <20250210224755.211278-1-Raj.Vishwanathan@gmail.com> (raw)
In-Reply-To: <20250109235219.2568-1-cfu@mips.com>
Align SBI_TRAP_CONTEXT_SIZE to a multiple of 16 bytes. If it is not
aligned to 16 bytes for RV64, it can create performance problems.
Aligning it correctly can fix the performance issues.
Signed-off-by: Raj Vishwanathan <Raj.Vishwanathan@gmail.com>
---
Test: Performance issues seen and fix Verified on FPGA.
Other methods.
Run qemu with monitor to check the SP during cpu_in
and cpu_out.
Add sbi_printf to the function sbi_trap_handler to check
the alignment of sbi_trap_context
---
include/sbi/sbi_trap.h | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/include/sbi/sbi_trap.h b/include/sbi/sbi_trap.h
index d5182bf..5eec4da 100644
--- a/include/sbi/sbi_trap.h
+++ b/include/sbi/sbi_trap.h
@@ -112,10 +112,13 @@
/** Size (in bytes) of sbi_trap_info */
#define SBI_TRAP_INFO_SIZE SBI_TRAP_INFO_OFFSET(last)
+#define STACK_BOUNDARY 16
+#define ALIGN_TO_BOUNDARY(x, a) (((x) + (a) - 1) & ~((a) - 1))
+
/** Size (in bytes) of sbi_trap_context */
-#define SBI_TRAP_CONTEXT_SIZE (SBI_TRAP_REGS_SIZE + \
+#define SBI_TRAP_CONTEXT_SIZE ALIGN_TO_BOUNDARY((SBI_TRAP_REGS_SIZE + \
SBI_TRAP_INFO_SIZE + \
- __SIZEOF_POINTER__)
+ __SIZEOF_POINTER__), STACK_BOUNDARY)
#ifndef __ASSEMBLER__
--
2.43.0
next prev parent reply other threads:[~2025-02-10 22:47 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-09 23:52 [PATCH] Add a dummy register to sbi_trap_regs Chao-ying Fu
2025-01-10 0:30 ` Jessica Clarke
2025-01-10 1:44 ` Chao-ying Fu
2025-02-06 19:22 ` [PATCH v2] Align SBI trap registers to a nice boundary for performance reasons Raj Vishwanathan
2025-02-08 5:34 ` Samuel Holland
2025-02-10 22:54 ` [EXTERNAL]Re: " Raj Vishwanathan
2025-02-10 22:47 ` Raj Vishwanathan [this message]
2025-02-11 2:49 ` Xiang W
2025-02-11 4:48 ` Anup Patel
2025-02-11 21:46 ` [PATCH v2] include: sbi: Align SBI trap registers to a nice boundary Raj Vishwanathan
2025-02-12 4:00 ` Anup Patel
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=20250210224755.211278-1-Raj.Vishwanathan@gmail.com \
--to=raj.vishwanathan@gmail.com \
--cc=opensbi@lists.infradead.org \
/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 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.