fix:
arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘show_cache_disable’:
arch/x86/kernel/cpu/intel_cacheinfo.c:712: warning: unused variable ‘node’
arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘store_cache_disable’:
arch/x86/kernel/cpu/intel_cacheinfo.c:739: warning: unused variable ‘node’
Signed-off-by: Jaswinder Singh Rajput <[email protected]>
---
arch/x86/kernel/cpu/intel_cacheinfo.c | 16 +++++++++-------
1 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c
index 789efe2..6794d3e 100644
--- a/arch/x86/kernel/cpu/intel_cacheinfo.c
+++ b/arch/x86/kernel/cpu/intel_cacheinfo.c
@@ -708,14 +708,15 @@ static ssize_t show_type(struct _cpuid4_info *this_leaf, char *buf)
static ssize_t show_cache_disable(struct _cpuid4_info *this_leaf, char *buf,
unsigned int index)
{
- int cpu = cpumask_first(to_cpumask(this_leaf->shared_cpu_map));
- int node = cpu_to_node(cpu);
- struct pci_dev *dev = node_to_k8_nb_misc(node);
+ struct pci_dev *dev;
unsigned int reg = 0;
+ int cpu;
if (!this_leaf->can_disable)
return -EINVAL;
+ cpu = cpumask_first(to_cpumask(this_leaf->shared_cpu_map));
+ dev = node_to_k8_nb_misc(cpu_to_node(cpu));
if (!dev)
return -EINVAL;
@@ -735,11 +736,10 @@ SHOW_CACHE_DISABLE(1)
static ssize_t store_cache_disable(struct _cpuid4_info *this_leaf,
const char *buf, size_t count, unsigned int index)
{
- int cpu = cpumask_first(to_cpumask(this_leaf->shared_cpu_map));
- int node = cpu_to_node(cpu);
- struct pci_dev *dev = node_to_k8_nb_misc(node);
- unsigned long val = 0;
+ struct pci_dev *dev;
unsigned int scrubber = 0;
+ unsigned long val = 0;
+ int cpu;
if (!this_leaf->can_disable)
return -EINVAL;
@@ -747,6 +747,8 @@ static ssize_t store_cache_disable(struct _cpuid4_info *this_leaf,
if (!capable(CAP_SYS_ADMIN))
return -EPERM;
+ cpu = cpumask_first(to_cpumask(this_leaf->shared_cpu_map));
+ dev = node_to_k8_nb_misc(cpu_to_node(cpu));
if (!dev)
return -EINVAL;
--
1.6.0.6
* Jaswinder Singh Rajput <[email protected]> wrote:
> fix:
> arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘show_cache_disable’:
> arch/x86/kernel/cpu/intel_cacheinfo.c:712: warning: unused variable ‘node’
> arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘store_cache_disable’:
> arch/x86/kernel/cpu/intel_cacheinfo.c:739: warning: unused variable ‘node’
you again 'fixed' a warning.
this made you fail to analyze and miss the real reason for this for
example:
> arch/x86/kernel/cpu/intel_cacheinfo.c:739: warning: unused variable ‘node’
> - int node = cpu_to_node(cpu);
the local variable is clearly initialized.
The problem is not with that variable - the problem is most likely
with the cpu_to_node() macro not creating a reference to the 'cpu'
variable in a compiler-visible way, in the !NUMA case.
The typical way to solve this is to add a dummy:
(void)(cpu)
use to the 'cpu' parameter to the macro definition - or, (which is a
much better solution), to convert it to an inline function.
Ingo
On Tue, 2009-04-14 at 15:32 +0200, Ingo Molnar wrote:
> * Jaswinder Singh Rajput <[email protected]> wrote:
>
> > fix:
> > arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘show_cache_disable’:
> > arch/x86/kernel/cpu/intel_cacheinfo.c:712: warning: unused variable ‘node’
> > arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘store_cache_disable’:
> > arch/x86/kernel/cpu/intel_cacheinfo.c:739: warning: unused variable ‘node’
>
> you again 'fixed' a warning.
>
> this made you fail to analyze and miss the real reason for this for
> example:
>
> > arch/x86/kernel/cpu/intel_cacheinfo.c:739: warning: unused variable ‘node’
>
> > - int node = cpu_to_node(cpu);
>
> the local variable is clearly initialized.
>
> The problem is not with that variable - the problem is most likely
> with the cpu_to_node() macro not creating a reference to the 'cpu'
> variable in a compiler-visible way, in the !NUMA case.
>
> The typical way to solve this is to add a dummy:
>
> (void)(cpu)
>
> use to the 'cpu' parameter to the macro definition - or, (which is a
> much better solution), to convert it to an inline function.
>
OK send patch:
[PATCH -tip] x86: k8.h reference to node in node_to_k8_nb_misc for !CONFIG_K8_NB
Thanks,
--
JSR
* Jaswinder Singh Rajput <[email protected]> wrote:
> On Tue, 2009-04-14 at 15:32 +0200, Ingo Molnar wrote:
> > * Jaswinder Singh Rajput <[email protected]> wrote:
> >
> > > fix:
> > > arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘show_cache_disable’:
> > > arch/x86/kernel/cpu/intel_cacheinfo.c:712: warning: unused variable ‘node’
> > > arch/x86/kernel/cpu/intel_cacheinfo.c: In function ‘store_cache_disable’:
> > > arch/x86/kernel/cpu/intel_cacheinfo.c:739: warning: unused variable ‘node’
> >
> > you again 'fixed' a warning.
> >
> > this made you fail to analyze and miss the real reason for this for
> > example:
> >
> > > arch/x86/kernel/cpu/intel_cacheinfo.c:739: warning: unused variable ‘node’
> >
> > > - int node = cpu_to_node(cpu);
> >
> > the local variable is clearly initialized.
> >
> > The problem is not with that variable - the problem is most likely
> > with the cpu_to_node() macro not creating a reference to the 'cpu'
> > variable in a compiler-visible way, in the !NUMA case.
> >
> > The typical way to solve this is to add a dummy:
> >
> > (void)(cpu)
> >
> > use to the 'cpu' parameter to the macro definition - or, (which is a
> > much better solution), to convert it to an inline function.
> >
>
> OK send patch:
> [PATCH -tip] x86: k8.h reference to node in node_to_k8_nb_misc for !CONFIG_K8_NB
You sent a patch, but did you read+understand the
suggestions i made above?
Ingo