[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.10.1507301106340.921@vshiva-Udesk>
Date: Thu, 30 Jul 2015 11:10:18 -0700 (PDT)
From: Vikas Shivappa <vikas.shivappa@...el.com>
To: Peter Zijlstra <peterz@...radead.org>
cc: Vikas Shivappa <vikas.shivappa@...ux.intel.com>,
linux-kernel@...r.kernel.org, vikas.shivappa@...el.com,
x86@...nel.org, hpa@...or.com, tglx@...utronix.de,
mingo@...nel.org, tj@...nel.org, matt.fleming@...el.com,
will.auld@...el.com, glenn.p.williamson@...el.com,
kanaka.d.juvva@...el.com
Subject: Re: [PATCH 5/9] x86/intel_rdt: Add new cgroup and Class of service
management
On Tue, 28 Jul 2015, Peter Zijlstra wrote:
> 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?
will fix. int size should be good enough.
>
>> + 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?
the size of maxclosid value is 16 bits.. For systems with large CPUs this may be
more but with EPs have only seen 20-30.
Thanks,
Vikas
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists