Messages in this thread | | | Date | Tue, 28 Jul 2015 19:17:48 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH 5/9] x86/intel_rdt: Add new cgroup and Class of service management |
| |
On Wed, Jul 01, 2015 at 03:21:06PM -0700, Vikas Shivappa wrote: > static int __init intel_rdt_late_init(void) > { > struct cpuinfo_x86 *c = &boot_cpu_data; > + static struct clos_cbm_map *ccm; > + u32 maxid, max_cbm_len; > + size_t sizeb;
Why 'sizeb' ? 'size' is still available, right?
> + int err = 0; > > - if (!cpu_has(c, X86_FEATURE_CAT_L3)) > + if (!cpu_has(c, X86_FEATURE_CAT_L3)) { > + rdt_root_group.css.ss->disabled = 1; > return -ENODEV; > + } > + maxid = c->x86_cache_max_closid; > + max_cbm_len = c->x86_cache_max_cbm_len; > + > + sizeb = BITS_TO_LONGS(maxid) * sizeof(long); > + rdtss_info.closmap = kzalloc(sizeb, GFP_KERNEL); > + if (!rdtss_info.closmap) { > + err = -ENOMEM; > + goto out_err; > + } > + > + sizeb = maxid * sizeof(struct clos_cbm_map); > + ccmap = kzalloc(sizeb, GFP_KERNEL); > + if (!ccmap) { > + kfree(rdtss_info.closmap); > + err = -ENOMEM; > + goto out_err; > + }
What's the expected size of max_closid? iow, how big of an array are you in fact allocating here?
| |