lkml.org 
[lkml]   [2015]   [Jul]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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

>


\
 
 \ /
  Last update: 2015-07-30 20:21    [W:0.227 / U:0.480 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site