Message ID | 20230104183033.755668-1-pierre.gondois@arm.com (mailing list archive) |
---|---|
Headers | show |
Series | arch_topology: Build cacheinfo from primary CPU | expand |
On Wed, 4 Jan 2023 19:30:23 +0100, Pierre Gondois wrote: > v2: > - Applied renaming/formatting comments from v1. > - Check CACHE_TYPE_VALID flag in pppt.c. > v3: > - Applied Sudeep's suggestions (for patch 5/5): > - Renaming allocate_cache_info() -> fecth_cache_info() > - Updated error message > - Extract an inline allocate_cache_info() function > - Re-run checkpatch with --strict option > v4: > - Remove RISC-V's implementation of init_cache_level() as not > necessary. > - Add patch: 'cacheinfo: Check 'cache-unified' property to count > cache leaves' to increase the number of leaves at a cache level > when no cache-size property is found. > - In cacheinfo: Use RISC-V's init_cache_level() [...], > make 'levels', 'leaves' and 'level' unsigned int to match > of_property_read_u32()'s parameters signedness. > > [...] Applied to sudeep.holla/linux (for-next/cacheinfo), thanks! [1/6] cacheinfo: Use RISC-V's init_cache_level() as generic OF implementation https://git.kernel.org/sudeep.holla/c/c3719bd9eeb2 [2/6] cacheinfo: Return error code in init_of_cache_level() https://git.kernel.org/sudeep.holla/c/8844c3df001b [3/6] cacheinfo: Check 'cache-unified' property to count cache leaves https://git.kernel.org/sudeep.holla/c/de0df442ee49 [4/6] ACPI: PPTT: Remove acpi_find_cache_levels() https://git.kernel.org/sudeep.holla/c/fa4d566a605b [5/6] ACPI: PPTT: Update acpi_find_last_cache_level() to acpi_get_cache_info() https://git.kernel.org/sudeep.holla/c/bd500361a937 [6/6] arch_topology: Build cacheinfo from primary CPU https://git.kernel.org/sudeep.holla/c/5944ce092b97 -- Regards, Sudeep
On Wed, Jan 18, 2023 at 11:55:59AM +0000, Sudeep Holla wrote: > On Wed, 4 Jan 2023 19:30:23 +0100, Pierre Gondois wrote: > > v2: > > - Applied renaming/formatting comments from v1. > > - Check CACHE_TYPE_VALID flag in pppt.c. > > v3: > > - Applied Sudeep's suggestions (for patch 5/5): > > - Renaming allocate_cache_info() -> fecth_cache_info() > > - Updated error message > > - Extract an inline allocate_cache_info() function > > - Re-run checkpatch with --strict option > > v4: > > - Remove RISC-V's implementation of init_cache_level() as not > > necessary. > > - Add patch: 'cacheinfo: Check 'cache-unified' property to count > > cache leaves' to increase the number of leaves at a cache level > > when no cache-size property is found. > > - In cacheinfo: Use RISC-V's init_cache_level() [...], > > make 'levels', 'leaves' and 'level' unsigned int to match > > of_property_read_u32()'s parameters signedness. > > > > [...] > > Applied to sudeep.holla/linux (for-next/cacheinfo), thanks! > I pushed the changes and then noticed some build warning report by kbuild posted only to you and one list(missing this list). Please post the fix if required on top of my for-next/cacheinfo so that it can be added on the top. Sorry for missing that.
On 1/18/23 13:07, Sudeep Holla wrote: > On Wed, Jan 18, 2023 at 11:55:59AM +0000, Sudeep Holla wrote: >> On Wed, 4 Jan 2023 19:30:23 +0100, Pierre Gondois wrote: >>> v2: >>> - Applied renaming/formatting comments from v1. >>> - Check CACHE_TYPE_VALID flag in pppt.c. >>> v3: >>> - Applied Sudeep's suggestions (for patch 5/5): >>> - Renaming allocate_cache_info() -> fecth_cache_info() >>> - Updated error message >>> - Extract an inline allocate_cache_info() function >>> - Re-run checkpatch with --strict option >>> v4: >>> - Remove RISC-V's implementation of init_cache_level() as not >>> necessary. >>> - Add patch: 'cacheinfo: Check 'cache-unified' property to count >>> cache leaves' to increase the number of leaves at a cache level >>> when no cache-size property is found. >>> - In cacheinfo: Use RISC-V's init_cache_level() [...], >>> make 'levels', 'leaves' and 'level' unsigned int to match >>> of_property_read_u32()'s parameters signedness. >>> >>> [...] >> >> Applied to sudeep.holla/linux (for-next/cacheinfo), thanks! >> > > I pushed the changes and then noticed some build warning report by > kbuild posted only to you and one list(missing this list). Please post the > fix if required on top of my for-next/cacheinfo so that it can be added > on the top. Sorry for missing that. > Hi Sudeep, I think the reported issue can be ignored, the 'levels' and 'split_levels' variables are initialized when used. If necessary, it is straightforward to fix the warning. Regards, Pierre The reported issue: --- Start --- If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): drivers/base/cacheinfo.c: In function 'fetch_cache_info': >> drivers/base/cacheinfo.c:440:50: warning: 'levels' is used uninitialized [-Wuninitialized] 440 | this_cpu_ci->num_leaves = levels + split_levels; | ~~~~~~~^~~~~~~~~~~~~~ drivers/base/cacheinfo.c:420:22: note: 'levels' was declared here 420 | unsigned int levels, split_levels; | ^~~~~~ >> drivers/base/cacheinfo.c:440:50: warning: 'split_levels' is used uninitialized [-Wuninitialized] 440 | this_cpu_ci->num_leaves = levels + split_levels; | ~~~~~~~^~~~~~~~~~~~~~ drivers/base/cacheinfo.c:420:30: note: 'split_levels' was declared here 420 | unsigned int levels, split_levels; | ^~~~~~~~~~~~ vim +/levels +440 drivers/base/cacheinfo.c 416 417 int fetch_cache_info(unsigned int cpu) 418 { 419 struct cpu_cacheinfo *this_cpu_ci; 420 unsigned int levels, split_levels; 421 int ret; 422 423 if (acpi_disabled) { 424 ret = init_of_cache_level(cpu); 425 if (ret < 0) 426 return ret; 427 } else { 428 ret = acpi_get_cache_info(cpu, &levels, &split_levels); 429 if (ret < 0) 430 return ret; 431 432 this_cpu_ci = get_cpu_cacheinfo(cpu); 433 this_cpu_ci->num_levels = levels; 434 /* 435 * This assumes that: 436 * - there cannot be any split caches (data/instruction) 437 * above a unified cache 438 * - data/instruction caches come by pair 439 */ > 440 this_cpu_ci->num_leaves = levels + split_levels; 441 } 442 if (!cache_leaves(cpu)) 443 return -ENOENT; 444 445 return allocate_cache_info(cpu); 446 } 447 --- End ---