Patch "s390/cache: prevent rebuild of shared_cpu_list" 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

    s390/cache: prevent rebuild of shared_cpu_list

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:
     s390-cache-prevent-rebuild-of-shared_cpu_list.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 96c4bc2c304f71687832505990a38c0c1e7068f9
Author: Heiko Carstens <hca@xxxxxxxxxxxxx>
Date:   Sat Mar 2 20:22:09 2024 +0100

    s390/cache: prevent rebuild of shared_cpu_list
    
    [ Upstream commit cb0cd4ee11142339f2d47eef6db274290b7a482d ]
    
    With commit 36bbc5b4ffab ("cacheinfo: Allow early detection and population
    of cache attributes") the shared cpu list for each cache level higher than
    L1 is rebuilt even if the list already has been set up.
    
    This is caused by the removal of the cpumask_empty() check within
    cache_shared_cpu_map_setup().
    
    However architectures can enforce that the shared cpu list is not rebuilt
    by simply setting cpu_map_populated of the per cpu cache info structure to
    true, which is also the fix for this problem.
    
    Before:
    $ cat /sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_list
    0-7
    
    After:
    $ cat /sys/devices/system/cpu/cpu1/cache/index2/shared_cpu_list
    1
    
    Fixes: 36bbc5b4ffab ("cacheinfo: Allow early detection and population of cache attributes")
    Signed-off-by: Heiko Carstens <hca@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/arch/s390/kernel/cache.c b/arch/s390/kernel/cache.c
index 56254fa06f990..4f26690302209 100644
--- a/arch/s390/kernel/cache.c
+++ b/arch/s390/kernel/cache.c
@@ -166,5 +166,6 @@ int populate_cache_leaves(unsigned int cpu)
 			ci_leaf_init(this_leaf++, pvt, ctype, level, cpu);
 		}
 	}
+	this_cpu_ci->cpu_map_populated = true;
 	return 0;
 }




[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