Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7b38493501b76e56f481925ed74ee5ca0f4c6183
Commit:     7b38493501b76e56f481925ed74ee5ca0f4c6183
Parent:     f6855f7fb2e22c5675d292dd445ee3c1fc09ac18
Author:     Satyam Sharma <[EMAIL PROTECTED]>
AuthorDate: Wed Oct 17 18:04:35 2007 +0200
Committer:  Thomas Gleixner <[EMAIL PROTECTED]>
CommitDate: Wed Oct 17 20:15:49 2007 +0200

    x86: intel_cacheinfo misc section annotation fixes
    
    cache_shared_cpu_map_setup() and cache_remove_shared_cpu_map()
    are functions called from another function that is __cpuinit.  But the
    !CONFIG_SMP empty-body stubs of these functions are unconditionally
    marked __init, which is actively wrong, and will lead to oops.  But we
    never saw this oops, because they always managed to get inlined in their
    callsites, by virtue of being empty-body stubs!  They should still be
    __cpuinit, of course.
    
    assocs[], levels[] and types[] are only referenced from function that is
    __cpuinit.  So these are candidates for being marked __cpuinitdata.
    
    [EMAIL PROTECTED]: build fix]
    Signed-off-by: Satyam Sharma <[EMAIL PROTECTED]>
    Cc: Andi Kleen <[EMAIL PROTECTED]>
    Cc: Venkatesh Pallipadi <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Ingo Molnar <[EMAIL PROTECTED]>
    Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]>
---
 arch/x86/kernel/cpu/intel_cacheinfo.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c 
b/arch/x86/kernel/cpu/intel_cacheinfo.c
index db6c25a..6f9dd38 100644
--- a/arch/x86/kernel/cpu/intel_cacheinfo.c
+++ b/arch/x86/kernel/cpu/intel_cacheinfo.c
@@ -170,15 +170,15 @@ union l3_cache {
        unsigned val;
 };
 
-static const unsigned short assocs[] = {
+static unsigned short assocs[] __cpuinitdata = {
        [1] = 1, [2] = 2, [4] = 4, [6] = 8,
        [8] = 16, [0xa] = 32, [0xb] = 48,
        [0xc] = 64,
        [0xf] = 0xffff // ??
 };
 
-static const unsigned char levels[] = { 1, 1, 2, 3 };
-static const unsigned char types[] = { 1, 2, 3, 3 };
+static unsigned char levels[] __cpuinitdata = { 1, 1, 2, 3 };
+static unsigned char types[] __cpuinitdata = { 1, 2, 3, 3 };
 
 static void __cpuinit amd_cpuid4(int leaf, union _cpuid4_leaf_eax *eax,
                       union _cpuid4_leaf_ebx *ebx,
@@ -493,8 +493,8 @@ static void __cpuinit cache_remove_shared_cpu_map(unsigned 
int cpu, int index)
        }
 }
 #else
-static void __init cache_shared_cpu_map_setup(unsigned int cpu, int index) {}
-static void __init cache_remove_shared_cpu_map(unsigned int cpu, int index) {}
+static void __cpuinit cache_shared_cpu_map_setup(unsigned int cpu, int index) 
{}
+static void __cpuinit cache_remove_shared_cpu_map(unsigned int cpu, int index) 
{}
 #endif
 
 static void free_cache_attributes(unsigned int cpu)
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to