From: Xiao Wang <xiao.w.wang@intel.com>
To: paul.walmsley@sifive.com, palmer@dabbelt.com,
aou@eecs.berkeley.edu, ardb@kernel.org
Cc: anup@brainfault.org, haicheng.li@intel.com,
ajones@ventanamicro.com, yujie.liu@intel.com,
linux-riscv@lists.infradead.org, linux-efi@vger.kernel.org,
linux-kernel@vger.kernel.org, Xiao Wang <xiao.w.wang@intel.com>
Subject: [PATCH v3 0/2] riscv: Optimize bitops with Zbb extension
Date: Tue, 26 Sep 2023 17:46:53 +0800 [thread overview]
Message-ID: <20230926094655.3102758-1-xiao.w.wang@intel.com> (raw)
Bitops optimization with specialized instructions is common practice in
popular ISAs, this patch set uses RISC-V Zbb extension to optimize four
bitops: __ffs, __fls, ffs and fls.
The first patch rearranges the content in hwcap.h cpufeature.h, it helps
to avoid a cyclic header including issue for patch 2.
The second patch leverages the alternative mechanism to dynamically apply
this optimization.
The series has following dependency:
https://lore.kernel.org/linux-riscv/20230918131518.56803-8-ajones@ventanamicro.com/
Thanks,
Xiao
v3:
- Fix riscv32 build issue reported by kernel test robot. V3 changes "hwcap.h" to
"cpufeature.h" for files where cpu feature detection APIs are used. (Yujie)
v2:
- Remove the "EFI_" prefix from macro name "EFI_NO_ALTERNATIVE" to make it
generic. (Ard)
- patch-1 is added, it's based on "RISC-V: Enable cbo.zero in usermode". (Andrew)
Xiao Wang (2):
riscv: Rearrange hwcap.h and cpufeature.h
riscv: Optimize bitops with Zbb extension
arch/riscv/include/asm/bitops.h | 266 +++++++++++++++++++++++++-
arch/riscv/include/asm/cpufeature.h | 83 ++++++++
arch/riscv/include/asm/elf.h | 2 +-
arch/riscv/include/asm/hwcap.h | 91 ---------
arch/riscv/include/asm/pgtable.h | 1 +
arch/riscv/include/asm/switch_to.h | 2 +-
arch/riscv/include/asm/vector.h | 2 +-
arch/riscv/kvm/aia.c | 2 +-
arch/riscv/kvm/main.c | 2 +-
arch/riscv/kvm/tlb.c | 2 +-
arch/riscv/kvm/vcpu_fp.c | 2 +-
arch/riscv/kvm/vcpu_onereg.c | 2 +-
arch/riscv/kvm/vcpu_vector.c | 2 +-
drivers/clocksource/timer-riscv.c | 2 +-
drivers/firmware/efi/libstub/Makefile | 2 +-
drivers/perf/riscv_pmu_sbi.c | 2 +-
16 files changed, 359 insertions(+), 106 deletions(-)
--
2.25.1
WARNING: multiple messages have this Message-ID (diff)
From: Xiao Wang <xiao.w.wang@intel.com>
To: paul.walmsley@sifive.com, palmer@dabbelt.com,
aou@eecs.berkeley.edu, ardb@kernel.org
Cc: anup@brainfault.org, haicheng.li@intel.com,
ajones@ventanamicro.com, yujie.liu@intel.com,
linux-riscv@lists.infradead.org, linux-efi@vger.kernel.org,
linux-kernel@vger.kernel.org, Xiao Wang <xiao.w.wang@intel.com>
Subject: [PATCH v3 0/2] riscv: Optimize bitops with Zbb extension
Date: Tue, 26 Sep 2023 17:46:53 +0800 [thread overview]
Message-ID: <20230926094655.3102758-1-xiao.w.wang@intel.com> (raw)
Bitops optimization with specialized instructions is common practice in
popular ISAs, this patch set uses RISC-V Zbb extension to optimize four
bitops: __ffs, __fls, ffs and fls.
The first patch rearranges the content in hwcap.h cpufeature.h, it helps
to avoid a cyclic header including issue for patch 2.
The second patch leverages the alternative mechanism to dynamically apply
this optimization.
The series has following dependency:
https://lore.kernel.org/linux-riscv/20230918131518.56803-8-ajones@ventanamicro.com/
Thanks,
Xiao
v3:
- Fix riscv32 build issue reported by kernel test robot. V3 changes "hwcap.h" to
"cpufeature.h" for files where cpu feature detection APIs are used. (Yujie)
v2:
- Remove the "EFI_" prefix from macro name "EFI_NO_ALTERNATIVE" to make it
generic. (Ard)
- patch-1 is added, it's based on "RISC-V: Enable cbo.zero in usermode". (Andrew)
Xiao Wang (2):
riscv: Rearrange hwcap.h and cpufeature.h
riscv: Optimize bitops with Zbb extension
arch/riscv/include/asm/bitops.h | 266 +++++++++++++++++++++++++-
arch/riscv/include/asm/cpufeature.h | 83 ++++++++
arch/riscv/include/asm/elf.h | 2 +-
arch/riscv/include/asm/hwcap.h | 91 ---------
arch/riscv/include/asm/pgtable.h | 1 +
arch/riscv/include/asm/switch_to.h | 2 +-
arch/riscv/include/asm/vector.h | 2 +-
arch/riscv/kvm/aia.c | 2 +-
arch/riscv/kvm/main.c | 2 +-
arch/riscv/kvm/tlb.c | 2 +-
arch/riscv/kvm/vcpu_fp.c | 2 +-
arch/riscv/kvm/vcpu_onereg.c | 2 +-
arch/riscv/kvm/vcpu_vector.c | 2 +-
drivers/clocksource/timer-riscv.c | 2 +-
drivers/firmware/efi/libstub/Makefile | 2 +-
drivers/perf/riscv_pmu_sbi.c | 2 +-
16 files changed, 359 insertions(+), 106 deletions(-)
--
2.25.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2023-09-26 9:38 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-26 9:46 Xiao Wang [this message]
2023-09-26 9:46 ` [PATCH v3 0/2] riscv: Optimize bitops with Zbb extension Xiao Wang
2023-09-26 9:46 ` [PATCH v3 1/2] riscv: Rearrange hwcap.h and cpufeature.h Xiao Wang
2023-09-26 9:46 ` Xiao Wang
2023-09-26 9:46 ` [PATCH v3 2/2] riscv: Optimize bitops with Zbb extension Xiao Wang
2023-09-26 9:46 ` Xiao Wang
2023-10-27 6:24 ` Charlie Jenkins
2023-10-27 6:24 ` Charlie Jenkins
2023-10-30 2:12 ` Wang, Xiao W
2023-10-30 2:12 ` Wang, Xiao W
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=20230926094655.3102758-1-xiao.w.wang@intel.com \
--to=xiao.w.wang@intel.com \
--cc=ajones@ventanamicro.com \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=ardb@kernel.org \
--cc=haicheng.li@intel.com \
--cc=linux-efi@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=yujie.liu@intel.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 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.