Patch "um: fix and optimize xor select template for CONFIG64 and timetravel mode" has been added to the 5.15-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

    um: fix and optimize xor select template for CONFIG64 and timetravel mode

to the 5.15-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:
     um-fix-and-optimize-xor-select-template-for-config64.patch
and it can be found in the queue-5.15 subdirectory.

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



commit 9ae016606f45be61b1344fe6154bc962f7a215cc
Author: Benjamin Beichler <benjamin.beichler@xxxxxxxxxxxxxx>
Date:   Tue Jan 11 20:05:06 2022 +0000

    um: fix and optimize xor select template for CONFIG64 and timetravel mode
    
    [ Upstream commit e3a33af812c611d99756e2ec61e9d7068d466bdf ]
    
    Due to dropped inclusion of asm-generic/xor.h, xor_block_8regs symbol is
    missing with CONFIG64 and break compilation, as the asm/xor_64.h also did
    not include it. The patch recreate the logic from arch/x86, which check
    whether AVX is available and add fallbacks for 32bit and 64bit config of
    um.
    
    A very minor additional "fix" is, the return of the macro parameter
    instead of NULL, as this is the original intent of the macro, but
    this does not change the actual behavior.
    
    Fixes: c0ecca6604b8 ("um: enable the use of optimized xor routines in UML")
    Signed-off-by: Benjamin Beichler <benjamin.beichler@xxxxxxxxxxxxxx>
    Acked-By: Anton Ivanov <anton.ivanov@xxxxxxxxxxxxxxxxxx>
    Signed-off-by: Richard Weinberger <richard@xxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/um/include/asm/xor.h b/arch/um/include/asm/xor.h
index f512704a9ec7..22b39de73c24 100644
--- a/arch/um/include/asm/xor.h
+++ b/arch/um/include/asm/xor.h
@@ -4,8 +4,10 @@
 
 #ifdef CONFIG_64BIT
 #undef CONFIG_X86_32
+#define TT_CPU_INF_XOR_DEFAULT (AVX_SELECT(&xor_block_sse_pf64))
 #else
 #define CONFIG_X86_32 1
+#define TT_CPU_INF_XOR_DEFAULT (AVX_SELECT(&xor_block_8regs))
 #endif
 
 #include <asm/cpufeature.h>
@@ -16,7 +18,7 @@
 #undef XOR_SELECT_TEMPLATE
 /* pick an arbitrary one - measuring isn't possible with inf-cpu */
 #define XOR_SELECT_TEMPLATE(x)	\
-	(time_travel_mode == TT_MODE_INFCPU ? &xor_block_8regs : NULL)
+	(time_travel_mode == TT_MODE_INFCPU ? TT_CPU_INF_XOR_DEFAULT : x))
 #endif
 
 #endif



[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