Messages in this thread | | | Date | Sat, 15 Sep 2018 12:13:53 +0200 (CEST) | From | Thomas Gleixner <> | Subject | Re: [PATCH 1/9] x86/intel_rdt: Fix MBA parsing callback |
| |
On Fri, 14 Sep 2018, Fenghua Yu wrote: > int parse_cbm(void *_data, struct rdt_resource *r, struct rdt_domain *d); > -int parse_bw(void *_buf, struct rdt_resource *r, struct rdt_domain *d); > +int parse_bw(void *_data, struct rdt_resource *r, struct rdt_domain *d);
Sorry no. This keeps the code equally error prone as it was. Why is that argument a void pointer in the first place?
> extern struct mutex rdtgroup_mutex; > > diff --git a/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c b/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c > index af358ca05160..d427c86e7cd0 100644 > --- a/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c > +++ b/arch/x86/kernel/cpu/intel_rdt_ctrlmondata.c > @@ -28,6 +28,11 @@ > #include <linux/slab.h> > #include "intel_rdt.h" > > +struct rdt_parse_data { > + struct rdtgroup *rdtgrp; > + char *buf; > +};
This is a copy of rdt_cbm_parse_data. Sigh.
The right thing to do here is
1) rename struct rdt_cbm_parse_data to struct rdt_parse_data
2) Move it to a header file
3) Change the argument of parse_ctrlval from void * to struct rdt_parse_data *
Everything else is just proliferating the initial underlying problem of having a void pointer in those callbacks for no reason at all.
Thanks,
tglx
| |