Messages in this thread | | | Date | Tue, 17 Jan 2017 16:56:04 -0800 (PST) | From | Shivappa Vikas <> | Subject | Re: [PATCH 5/8] x86/intel_rct/mba: Add MBA structures and initialize MBA |
| |
On Mon, 16 Jan 2017, Thomas Gleixner wrote:
> On Tue, 10 Jan 2017, Vikas Shivappa wrote: >> +static void rdt_get_mem_config(struct rdt_resource *r) >> +{ >> + union cpuid_0x10_3_eax eax; >> + union cpuid_0x10_x_edx edx; >> + u32 ebx, ecx; >> + >> + cpuid_count(0x00000010, 3, &eax.full, &ebx, &ecx, &edx.full); >> + r->num_closid = edx.split.cos_max + 1; >> + r->max_delay = eax.split.max_delay + 1; >> + r->no_ctrl = 0; >> + if (ecx & MBE_IS_LINEAR) >> + r->delay_linear = true; >> + >> + if (r->delay_linear) >> + r->delay_gran = MAX_MBA_THRTL - r->max_delay; > > What's the point of this extra conditional? > > if (ecx & MBE_IS_LINEAR) { > r->delay_linear = true; > r->delay_gran = MAX_MBA_THRTL - r->max_delay; > } > > would be too obvious and easy to understand, right?
Will fix.
> >> +static int domain_setup_ctrlval(struct rdt_resource *r, struct rdt_domain *d) >> +{ >> + int i; >> + >> + d->ctrl_val = kmalloc_array(r->num_closid, >> + sizeof(*d->ctrl_val), GFP_KERNEL); >> + if (!d->ctrl_val) { >> + kfree(d); > > Freeing memory in the error path of some other random function is just wrong. > > if (!d->ctrl_val) > return -ENOMEM; > > and deal with the fallout at the calling function.
Will fix.. Thanks for pointing out.
Vikas
> > Thanks, > > tglx >
| |