lkml.org 
[lkml]   [2009]   [Apr]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[PATCH -tip] x86: cpu_debug.c prepare report if files are less or more then expected
    From
    Date
    This will prepare the report to update cpu_debug

    Signed-off-by: Jaswinder Singh Rajput <jaswinderrajput@gmail.com>
    ---
    arch/x86/include/asm/cpu_debug.h | 1 +
    arch/x86/kernel/cpu/cpu_debug.c | 12 ++++++++++++
    2 files changed, 13 insertions(+), 0 deletions(-)

    diff --git a/arch/x86/include/asm/cpu_debug.h b/arch/x86/include/asm/cpu_debug.h
    index 2228020..b64da5d 100644
    --- a/arch/x86/include/asm/cpu_debug.h
    +++ b/arch/x86/include/asm/cpu_debug.h
    @@ -187,6 +187,7 @@ enum cpu_processor_bit {
    #define CPU_ALL (CPU_INTEL_ALL | CPU_AMD_ALL)

    #define MAX_CPU_FILES 512
    +#define MIN_CPU_FILES 10

    struct cpu_private {
    unsigned cpu;
    diff --git a/arch/x86/kernel/cpu/cpu_debug.c b/arch/x86/kernel/cpu/cpu_debug.c
    index 46e29ab..1c3ebd4 100644
    --- a/arch/x86/kernel/cpu/cpu_debug.c
    +++ b/arch/x86/kernel/cpu/cpu_debug.c
    @@ -838,6 +838,14 @@ static int cpu_init_allreg(unsigned cpu, struct dentry *dentry)
    return err;
    }

    +/* Send Report to maintainer if files are less or more then expected */
    +static void send_report(int files, struct cpuinfo_x86 *cpui)
    +{
    + pr_info("Please report \"cpu_debug files %d for %x:%x:%x:%x\" to"
    + " jaswinderrajput@gmail.com\n", files, cpui->x86_vendor,
    + cpui->x86, cpui->x86_model, cpui->x86_mask);
    +}
    +
    static int cpu_init_cpu(void)
    {
    struct dentry *cpu_dentry = NULL;
    @@ -861,9 +869,13 @@ static int cpu_init_cpu(void)

    pr_info("cpu%d(%d) debug files %d\n",
    cpu, nr_cpu_ids, per_cpu(cpu_priv_count, cpu));
    + if ((per_cpu(cpu_priv_count, cpu) < MIN_CPU_FILES) && !cpu)
    + send_report(per_cpu(cpu_priv_count, cpu), cpui);
    +
    if (per_cpu(cpu_priv_count, cpu) > MAX_CPU_FILES) {
    pr_err("Register files count %d exceeds limit %d\n",
    per_cpu(cpu_priv_count, cpu), MAX_CPU_FILES);
    + send_report(per_cpu(cpu_priv_count, cpu), cpui);
    per_cpu(cpu_priv_count, cpu) = MAX_CPU_FILES;
    err = -ENFILE;
    }
    --
    1.6.0.6




    \
     
     \ /
      Last update: 2009-04-14 14:21    [W:0.023 / U:61.912 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site