Patch "riscv: don't probe unaligned access speed if already done" has been added to the 6.6-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    riscv: don't probe unaligned access speed if already done

to the 6.6-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     riscv-don-t-probe-unaligned-access-speed-if-already-.patch
and it can be found in the queue-6.6 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit e02202f779f44fdd468f1995c9c8e21625a49f84
Author: Jisheng Zhang <jszhang@xxxxxxxxxx>
Date:   Tue Sep 12 23:40:40 2023 +0800

    riscv: don't probe unaligned access speed if already done
    
    [ Upstream commit c20d36cc2a2073d4cdcda92bd7a1bb9b3b3b7c79 ]
    
    If misaligned_access_speed percpu var isn't so called "HWPROBE
    MISALIGNED UNKNOWN", it means the probe has happened(this is possible
    for example, hotplug off then hotplug on one cpu), and the percpu var
    has been set, don't probe again in this case.
    
    Signed-off-by: Jisheng Zhang <jszhang@xxxxxxxxxx>
    Fixes: 584ea6564bca ("RISC-V: Probe for unaligned access speed")
    Reviewed-by: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20230912154040.3306-1-jszhang@xxxxxxxxxx
    Signed-off-by: Palmer Dabbelt <palmer@xxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c
index 1cfbba65d11ae..e12cd22755c78 100644
--- a/arch/riscv/kernel/cpufeature.c
+++ b/arch/riscv/kernel/cpufeature.c
@@ -568,6 +568,10 @@ void check_unaligned_access(int cpu)
 	void *src;
 	long speed = RISCV_HWPROBE_MISALIGNED_SLOW;
 
+	/* We are already set since the last check */
+	if (per_cpu(misaligned_access_speed, cpu) != RISCV_HWPROBE_MISALIGNED_UNKNOWN)
+		return;
+
 	page = alloc_pages(GFP_NOWAIT, get_order(MISALIGNED_BUFFER_SIZE));
 	if (!page) {
 		pr_warn("Can't alloc pages to measure memcpy performance");




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux